类 SplineInterpolator

java.lang.Object
org.hipparchus.analysis.interpolation.SplineInterpolator
所有已实现的接口:
FieldUnivariateInterpolator, UnivariateInterpolator

public class SplineInterpolator extends Object implements UnivariateInterpolator, FieldUnivariateInterpolator
计算数据集的自然(也称为“自由”,“未夹紧”)三次样条插值。

interpolate(double[], double[])方法返回一个由n个三次多项式组成的PolynomialSplineFunction,在由x值确定的子区间上定义,x[0] < x[i] ... < x[n]. 这些x值被称为“结点”。

对于大于或等于最小结点且严格小于最大结点的点x,通过找到x所属的子区间并计算相应多项式在x - x[i] 处的值来计算PolynomialSplineFunction的值,其中i是子区间的索引。有关更多详细信息,请参见PolynomialSplineFunction

插值多项式满足以下条件:

  1. 在每个输入x值处,PolynomialSplineFunction的值等于相应的y值。
  2. 相邻多项式在结点处通过两阶导数相等(即,相邻多项式在结点处“匹配”,它们的一阶和二阶导数也匹配)。

实现的三次样条插值算法如R.L. Burden, J.D. Faires, 数值分析, 第4版, 1989, PWS-Kent, ISBN 0-53491-585-X, pp 126-131中描述。