类 AkimaSplineInterpolator
java.lang.Object
org.hipparchus.analysis.interpolation.AkimaSplineInterpolator
public class AkimaSplineInterpolator extends Object implements UnivariateInterpolator, FieldUnivariateInterpolator
使用Akima算法为数据集计算三次样条插值,该算法最初由Hiroshi Akima在其1970年的论文"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
此实现基于Math.NET Numerics库中CubicSpline类中的Akima实现。所引用的方法是CubicSpline.InterpolateAkimaSorted
interpolate
方法返回一个由n个三次多项式组成的PolynomialSplineFunction
,在由x值确定的子区间上定义,x[0] < x[i] ... < x[n]
。Akima算法要求n >= 5
。
-
构造器概要
-
方法概要
修饰符和类型方法说明interpolate
(double[] xvals, double[] yvals) 计算数据集的插值函数。<T extends CalculusFieldElement<T>>
FieldPolynomialSplineFunction<T> interpolate
(T[] xvals, T[] yvals) 计算数据集的插值函数。
-
构造器详细资料
-
AkimaSplineInterpolator
public AkimaSplineInterpolator()简单构造器。此构造函数等同于调用
AkimaSplineInterpolator(false)
,即使用原始的Akima权重- 从以下版本开始:
- 2.1
-
AkimaSplineInterpolator
public AkimaSplineInterpolator(boolean useModifiedWeights) 简单构造器。权重修改描述在 Makima Piecewise Cubic Interpolation中。它试图避免在接近恒定斜率子采样点附近的过冲。
- 参数:
-
useModifiedWeights
- 如果为true,则使用修改后的权重以避免过冲 - 从以下版本开始:
- 2.1
-
-
方法详细资料
-
interpolate
public PolynomialSplineFunction interpolate(double[] xvals, double[] yvals) throws MathIllegalArgumentException 计算数据集的插值函数。- 指定者:
-
interpolate
在接口中UnivariateInterpolator
- 参数:
-
xvals
- 插值点的参数 -
yvals
- 插值点的值 - 返回:
- 插值数据集的函数
- 抛出:
-
MathIllegalArgumentException
- 如果xvals
和yvals
大小不同。 -
MathIllegalArgumentException
- 如果xvals
未严格按升序排序。 -
MathIllegalArgumentException
- 如果xvals
的大小小于5。
-
interpolate
public <T extends CalculusFieldElement<T>> FieldPolynomialSplineFunction<T> interpolate(T[] xvals, T[] yvals) throws MathIllegalArgumentException 计算数据集的插值函数。- 指定者:
-
interpolate
在接口中FieldUnivariateInterpolator
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
xvals
- 插值点的参数 -
yvals
- 插值点的值 - 返回:
- 插值数据集的函数
- 抛出:
-
MathIllegalArgumentException
- 如果xvals
和yvals
大小不同。 -
MathIllegalArgumentException
- 如果xvals
未严格按升序排序。 -
MathIllegalArgumentException
- 如果xvals
的大小小于5。 - 从以下版本开始:
- 1.5
-