public class SplineInterpolator extends Object implements UnivariateInterpolator
The interpolate(double[], double[]) method returns a PolynomialSplineFunction
consisting of n cubic polynomials, defined over the subintervals determined by the x values,
x[0] < x[i] ... < x[n]. The x values are referred to as "knot points."
The value of the PolynomialSplineFunction at a point x that is greater than or equal to the smallest
knot point and strictly less than the largest knot point is computed by finding the subinterval to which
x belongs and computing the value of the corresponding polynomial at x - x[i] where
i is the index of the subinterval. See PolynomialSplineFunction for more details.
The interpolating polynomials satisfy:
The cubic spline interpolation algorithm implemented is as described in R.L. Burden, J.D. Faires, Numerical Analysis, 4th Ed., 1989, PWS-Kent, ISBN 0-53491-585-X, pp 126-131.
| Constructor and Description |
|---|
SplineInterpolator() |
| Modifier and Type | Method and Description |
|---|---|
PolynomialSplineFunction |
interpolate(double[] x,
double[] y)
Computes an interpolating function for the data set.
|
public PolynomialSplineFunction interpolate(double[] x, double[] y) throws DimensionMismatchException, NumberIsTooSmallException, NonMonotonicSequenceException
interpolate in interface UnivariateInterpolatorx - the arguments for the interpolation pointsy - the values for the interpolation pointsDimensionMismatchException - if x and y
have different sizes.NonMonotonicSequenceException - if x is not sorted in
strict increasing order.NumberIsTooSmallException - if the size of x is smaller
than 3.Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.