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)
interpolate
in interface UnivariateInterpolator
x
- 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 © 2020 CNES. All rights reserved.