类 PolynomialFunctionNewtonForm

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

public class PolynomialFunctionNewtonForm extends Object implements UnivariateDifferentiableFunction, FieldUnivariateFunction
实现了牛顿形式中实数多项式函数的表示。有关参考,请参阅《基础数值分析》,ISBN 0070124477,第2章。

牛顿形式中多项式的公式为 p(x) = a[0] + a[1](x-c[0]) + a[2](x-c[0])(x-c[1]) + ... + a[n](x-c[0])(x-c[1])...(x-c[n-1]) 请注意,a[]的长度比c[]的长度多1

  • 构造器详细资料

  • 方法详细资料

    • value

      public double value(double z)
      计算给定点的函数值。
      指定者:
      value 在接口中 UnivariateFunction
      参数:
      z - 要计算函数值的点。
      返回:
      函数值。
    • value

      public <T extends Derivative<T>> T value(T t)
      计算函数的值。
      指定者:
      value 在接口中 UnivariateDifferentiableFunction
      类型参数:
      T - 字段元素的类型
      参数:
      t - 应计算函数值的点
      返回:
    • value

      public <T extends CalculusFieldElement<T>> T value(T t)
      计算函数的值。
      指定者:
      value 在接口中 FieldUnivariateFunction
      类型参数:
      T - 字段元素的类型
      参数:
      t - 应计算函数值的点
      返回:
      函数的值。
    • degree

      public int degree()
      返回多项式的次数。
      返回:
      多项式的次数
    • getNewtonCoefficients

      public double[] getNewtonCoefficients()
      返回牛顿形式公式中系数的副本。

      对返回的副本进行的更改不会影响多项式。

      返回:
      牛顿形式公式中系数的新副本
    • getCenters

      public double[] getCenters()
      返回中心数组的副本。

      对返回的副本进行的更改不会影响多项式。

      返回:
      中心数组的新副本。
    • getCoefficients

      public double[] getCoefficients()
      返回系数数组的副本。

      对返回的副本进行的更改不会影响多项式。

      返回:
      系数数组的新副本。
    • evaluate

      public static double evaluate(double[] a, double[] c, double z) throws MathIllegalArgumentException, NullArgumentException
      使用嵌套乘法计算牛顿多项式。也称为霍纳法则,时间复杂度为O(N)。
      参数:
      a - 牛顿形式公式中的系数。
      c - 中心。
      z - 要计算函数值的点。
      返回:
      函数值。
      抛出:
      NullArgumentException - 如果任何参数为null
      MathIllegalArgumentException - 如果任何数组长度为零。
      MathIllegalArgumentException - 如果ac之间的大小差异不等于1。
    • computeCoefficients

      protected void computeCoefficients()
      计算给定牛顿形式的普通多项式系数。它也使用嵌套乘法,但时间复杂度为O(N^2)。
    • verifyInputArray

      protected static void verifyInputArray(double[] a, double[] c) throws MathIllegalArgumentException, NullArgumentException
      验证输入数组是否有效。

      中心必须在插值目的上是不同的,但对于一般用途则不需要。因此,在这里不进行验证。

      参数:
      a - 牛顿形式公式中的系数
      c - 中心
      抛出:
      NullArgumentException - 如果任何参数为null
      MathIllegalArgumentException - 如果任何数组长度为零。
      MathIllegalArgumentException - 如果ac之间的大小差异不等于1。
      另请参阅: