类 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
-