Class AkimaSplineInterpolator
java.lang.Object
org.apache.commons.math4.analysis.interpolation.AkimaSplineInterpolator
- All Implemented Interfaces:
UnivariateInterpolator
public class AkimaSplineInterpolator extends java.lang.Object implements UnivariateInterpolator
Computes a cubic spline interpolation for the data set using the Akima
algorithm, as originally formulated by Hiroshi Akima in his 1970 paper
"A New Method of Interpolation and Smooth Curve Fitting Based on Local Procedures."
J. ACM 17, 4 (October 1970), 589-602. DOI=10.1145/321607.321609
http://doi.acm.org/10.1145/321607.321609
This implementation is based on the Akima implementation in the CubicSpline class in the Math.NET Numerics library. The method referenced is CubicSpline.InterpolateAkimaSorted
The interpolate 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 Akima algorithm requires that n >= 5.
-
Constructor Summary
Constructors Constructor Description AkimaSplineInterpolator() -
Method Summary
Modifier and Type Method Description PolynomialSplineFunctioninterpolate(double[] xvals, double[] yvals)Computes an interpolating function for the data set.
-
Constructor Details
-
AkimaSplineInterpolator
public AkimaSplineInterpolator()
-
-
Method Details
-
interpolate
public PolynomialSplineFunction interpolate(double[] xvals, double[] yvals) throws DimensionMismatchException, NumberIsTooSmallException, NonMonotonicSequenceExceptionComputes an interpolating function for the data set.- Specified by:
interpolatein interfaceUnivariateInterpolator- Parameters:
xvals- the arguments for the interpolation pointsyvals- the values for the interpolation points- Returns:
- a function which interpolates the data set
- Throws:
DimensionMismatchException- ifxvalsandyvalshave different sizes.NonMonotonicSequenceException- ifxvalsis not sorted in strict increasing order.NumberIsTooSmallException- if the size ofxvalsis smaller than 5.
-