OpenMS
2.5.0
|
cubic spline interpolation as described in R.L. Burden, J.D. Faires, Numerical Analysis, 4th ed. PWS-Kent, 1989, ISBN 0-53491-585-X, pp. 126-131. More...
#include <OpenMS/MATH/MISC/CubicSpline2d.h>
Public Member Functions | |
CubicSpline2d (const std::vector< double > &x, const std::vector< double > &y) | |
constructor of spline interpolation More... | |
CubicSpline2d (const std::map< double, double > &m) | |
constructor of spline interpolation More... | |
double | eval (double x) const |
evaluates the spline at position x More... | |
double | derivatives (double x, unsigned order) const |
evaluates derivative of spline at position x More... | |
Private Member Functions | |
void | init_ (const std::vector< double > &x, const std::vector< double > &y) |
initialize the spline More... | |
Private Attributes | |
std::vector< double > | a_ |
constant spline coefficients More... | |
std::vector< double > | b_ |
linear spline coefficients More... | |
std::vector< double > | c_ |
quadratic spline coefficients More... | |
std::vector< double > | d_ |
cubic spline coefficients More... | |
std::vector< double > | x_ |
knots More... | |
cubic spline interpolation as described in R.L. Burden, J.D. Faires, Numerical Analysis, 4th ed. PWS-Kent, 1989, ISBN 0-53491-585-X, pp. 126-131.
Construction of the spline takes by far the most time. Evaluating it is rather fast (one evaluation is about 50x faster than construction – depending on number of points etc.).
CubicSpline2d | ( | const std::vector< double > & | x, |
const std::vector< double > & | y | ||
) |
constructor of spline interpolation
The coordinates must match by index. Both vectors must be the same size and sorted in x. Sortedness in x is required for
x | x-coordinates of input data points (knots) |
y | y-coordinates of input data points |
CubicSpline2d | ( | const std::map< double, double > & | m | ) |
constructor of spline interpolation
m | (x,y) coordinates of input data points |
evaluates derivative of spline at position x
x | x-position |
order | order of the derivative Only order 1 or 2 make sense for cubic splines. |
initialize the spline
x | x-coordinates of input data points (knots) |
y | y-coordinates of input data points |
|
private |
constant spline coefficients
|
private |
linear spline coefficients
|
private |
quadratic spline coefficients
|
private |
cubic spline coefficients
|
private |
knots