类 PolynomialSplineFunction

java.lang.Object
org.hipparchus.analysis.polynomials.PolynomialSplineFunction
所有已实现的接口:
UnivariateDifferentiableFunction, FieldUnivariateFunction, UnivariateFunction

public class PolynomialSplineFunction extends Object implements UnivariateDifferentiableFunction, FieldUnivariateFunction
表示一个多项式样条函数。

一个多项式样条函数由一组插值多项式和一个升序的域结点数组组成,确定了样条函数由组成多项式定义的区间。假定已计算出多项式以匹配另一个函数在结点处的值。值一致性约束目前不由PolynomialSplineFunction本身强制执行,但假定这些约束在传递给构造函数的多项式和结点之间成立。

注意:polynomials属性中的多项式必须以结点为中心来计算样条函数的值。请参见下文。

多项式样条函数的定义域为[最小结点,最大结点]。尝试在此范围之外的值处评估函数会生成IllegalArgumentExceptions。

对于参数x的多项式样条函数的值计算如下:

  1. 搜索结点数组以找到x所属的段。如果x小于最小结点或大于最大结点,则抛出IllegalArgumentException
  2. j为小于或等于x的最大结点的索引。返回的值为polynomials[j](x - knot[j])
  • 构造器详细资料

  • 方法详细资料

    • public double value(double v)
      计算函数的值。有关计算函数值的算法的详细信息,请参见PolynomialSplineFunction
      指定者:
      value 在接口中 UnivariateFunction
      参数:
      v - 应计算函数值的点。
      返回:
      值。
      抛出:
      MathIllegalArgumentException - 如果v在样条函数的定义域之外(小于最小结点或大于最大结点)。
    • 多项式样条导数

      public PolynomialSplineFunction polynomialSplineDerivative()
      获取多项式样条函数的导数。
      返回:
      导数函数。
    • public <T extends Derivative<T>> T value(T t)
      计算函数的值。
      指定者:
      value 在接口中 UnivariateDifferentiableFunction
      类型参数:
      T - 字段元素的类型
      参数:
      t - 应计算函数值的点
      返回:
    • public <T extends CalculusFieldElement<T>> T value(T t)
      计算函数的值。
      指定者:
      value 在接口中 FieldUnivariateFunction
      类型参数:
      T - 字段元素的类型
      参数:
      t - 应计算函数值的点
      返回:
      函数的值。
    • 获取N

      public int getN()
      获取样条段的数量。它也是多项式的数量和结点数量减1。
      返回:
      样条段的数量。
    • 获取多项式

      public PolynomialFunction[] getPolynomials()
      获取插值多项式数组的副本。它返回数组的新副本。对副本进行的更改不会影响多项式属性。
      返回:
      插值多项式。
    • 获取结点

      public double[] getKnots()
      获取结点的数组副本。它返回数组的新副本。对副本进行的更改不会影响结点属性。
      返回:
      结点。
    • 是否为有效点

      public boolean isValidPoint(double x)
      指示点是否在插值范围内。
      参数:
      x - 点。
      返回:
      如果x是有效点,则为true