类 PolynomialFunctionNewtonForm
java.lang.Object
org.hipparchus.analysis.polynomials.PolynomialFunctionNewtonForm
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
-
构造器概要
-
方法概要
修饰符和类型方法说明protected void
给定牛顿形式,计算普通多项式系数。int
degree()
返回多项式的次数。static double
evaluate
(double[] a, double[] c, double z) 使用嵌套乘法计算牛顿多项式。double[]
返回中心数组的副本。double[]
返回系数数组的副本。double[]
返回牛顿形式公式中系数的副本。double
value
(double z) 计算给定点的函数值。<T extends Derivative<T>>
Tvalue
(T t) 计算函数的值。protected static void
verifyInputArray
(double[] a, double[] c) 验证输入数组是否有效。从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.hipparchus.analysis.FieldUnivariateFunction
toCalculusFieldUnivariateFunction
-
构造器详细资料
-
PolynomialFunctionNewtonForm
public PolynomialFunctionNewtonForm(double[] a, double[] c) throws MathIllegalArgumentException, NullArgumentException 使用给定的a[]和c[]构造牛顿多项式。中心的顺序很重要,如果c[]混洗,则a[]的值将完全改变,而不仅仅是旧a[]的排列。构造函数复制输入数组并分配它们。
- 参数:
-
a
- 牛顿形式公式中的系数。 -
c
- 中心。 - 抛出:
-
NullArgumentException
- 如果任何参数为null
。 -
MathIllegalArgumentException
- 如果任何数组长度为零。 -
MathIllegalArgumentException
- 如果a
和c
之间的大小差异不等于1。
-
-
方法详细资料
-
value
public double value(double z) 计算给定点的函数值。- 指定者:
-
value
在接口中UnivariateFunction
- 参数:
-
z
- 要计算函数值的点。 - 返回:
- 函数值。
-
value
计算函数的值。- 指定者:
-
value
在接口中UnivariateDifferentiableFunction
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
t
- 应计算函数值的点 - 返回:
- 值
-
value
计算函数的值。- 指定者:
-
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
- 如果a
和c
之间的大小差异不等于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
- 如果a
和c
之间的大小差异不等于1。 - 另请参阅:
-