OpenMM
 All Classes Namespaces Functions Variables Enumerations Enumerator Friends
SplineFitter Class Reference

SplineFitter provides routines for performing cubic spline interpolation. More...

#include <SplineFitter.h>

Static Public Member Functions

static void createNaturalSpline (const std::vector< double > &x, const std::vector< double > &y, std::vector< double > &deriv)
 Fit a natural cubic spline to a set of data points.
 
static void createPeriodicSpline (const std::vector< double > &x, const std::vector< double > &y, std::vector< double > &deriv)
 Fit a periodic cubic spline to a set of data points.
 
static double evaluateSpline (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &deriv, double t)
 Evaluate a spline generated by one of the other methods in this class.
 
static double evaluateSplineDerivative (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &deriv, double t)
 Evaluate the derivative of a spline generated by one of the other methods in this class.
 

Detailed Description

SplineFitter provides routines for performing cubic spline interpolation.

Member Function Documentation

static void createNaturalSpline ( const std::vector< double > &  x,
const std::vector< double > &  y,
std::vector< double > &  deriv 
)
static

Fit a natural cubic spline to a set of data points.

The resulting spline interpolates all the data points, has a continuous second derivative everywhere, and has a second derivative of 0 at its end points.

Parameters
xthe values of the independent variable at the data points to interpolate. They must be strictly increasing: x[i] > x[i-1].
ythe values of the dependent variable at the data points to interpolate
derivon exit, this contains the second derivative of the spline at each of the data points
static void createPeriodicSpline ( const std::vector< double > &  x,
const std::vector< double > &  y,
std::vector< double > &  deriv 
)
static

Fit a periodic cubic spline to a set of data points.

The resulting spline interpolates all the data points, has a continuous second derivative everywhere, and has identical second derivatives at the end points.

Parameters
xthe values of the independent variable at the data points to interpolate. They must be strictly increasing: x[i] > x[i-1].
ythe values of the dependent variable at the data points to interpolate. The first and last entries must be identical.
derivon exit, this contains the second derivative of the spline at each of the data points
static double evaluateSpline ( const std::vector< double > &  x,
const std::vector< double > &  y,
const std::vector< double > &  deriv,
double  t 
)
static

Evaluate a spline generated by one of the other methods in this class.

Parameters
xthe values of the independent variable at the data points to interpolate
ythe values of the dependent variable at the data points to interpolate
derivthe vector of second derivatives that was calculated by one of the other methods
tthe value of the independent variable at which to evaluate the spline
Returns
the value of the spline at the specified point
static double evaluateSplineDerivative ( const std::vector< double > &  x,
const std::vector< double > &  y,
const std::vector< double > &  deriv,
double  t 
)
static

Evaluate the derivative of a spline generated by one of the other methods in this class.

Parameters
xthe values of the independent variable at the data points to interpolate
ythe values of the dependent variable at the data points to interpolate
derivthe vector of second derivatives that was calculated by one of the other methods
tthe value of the independent variable at which to evaluate the spline
Returns
the value of the spline's derivative at the specified point

The documentation for this class was generated from the following file: