类 PolynomialSplineFunction
java.lang.Object
org.hipparchus.analysis.polynomials.PolynomialSplineFunction
public class PolynomialSplineFunction extends Object implements UnivariateDifferentiableFunction, FieldUnivariateFunction
表示一个多项式样条函数。
一个多项式样条函数由一组插值多项式和一个升序的域结点数组组成,确定了样条函数由组成多项式定义的区间。假定已计算出多项式以匹配另一个函数在结点处的值。值一致性约束目前不由PolynomialSplineFunction
本身强制执行,但假定这些约束在传递给构造函数的多项式和结点之间成立。
注意:polynomials
属性中的多项式必须以结点为中心来计算样条函数的值。请参见下文。
多项式样条函数的定义域为[最小结点,最大结点]
。尝试在此范围之外的值处评估函数会生成IllegalArgumentExceptions。
对于参数x
的多项式样条函数的值计算如下:
- 搜索结点数组以找到
x
所属的段。如果x
小于最小结点或大于最大结点,则抛出IllegalArgumentException
。 - 设
j
为小于或等于x
的最大结点的索引。返回的值为polynomials[j](x - knot[j])
-
构造器概要
构造器说明PolynomialSplineFunction
(double[] knots, PolynomialFunction[] polynomials) 使用给定的分段界限和插值多项式构造多项式样条函数。 -
方法概要
修饰符和类型方法说明double[]
getKnots()
获取结点的数组副本。int
getN()
获取样条段的数量。获取插值多项式数组的副本。boolean
isValidPoint
(double x) 指示点是否在插值范围内。获取多项式样条函数的导数。double
value
(double v) 计算函数的值。<T extends Derivative<T>>
Tvalue
(T t) 计算函数的值。从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.hipparchus.analysis.FieldUnivariateFunction
toCalculusFieldUnivariateFunction
-
构造器详细资料
-
多项式样条函数
public PolynomialSplineFunction(double[] knots, PolynomialFunction[] polynomials) throws MathIllegalArgumentException, NullArgumentException 使用给定的分段界限和插值多项式构造多项式样条函数。构造函数复制两个数组,并将副本分配给结点和多项式属性。- 参数:
-
knots
- 样条段间隔界限。 -
polynomials
- 构成样条的多项式函数。 - 抛出:
-
NullArgumentException
- 如果输入数组中有一个是null
。 -
MathIllegalArgumentException
- 如果结点长度小于2。 -
MathIllegalArgumentException
- 如果polynomials.length != knots.length - 1
。 -
MathIllegalArgumentException
- 如果knots
数组不是严格递增的。
-
-
方法详细资料
-
值
public double value(double v) 计算函数的值。有关计算函数值的算法的详细信息,请参见PolynomialSplineFunction
。- 指定者:
-
value
在接口中UnivariateFunction
- 参数:
-
v
- 应计算函数值的点。 - 返回:
- 值。
- 抛出:
-
MathIllegalArgumentException
- 如果v
在样条函数的定义域之外(小于最小结点或大于最大结点)。
-
多项式样条导数
获取多项式样条函数的导数。- 返回:
- 导数函数。
-
值
计算函数的值。- 指定者:
-
value
在接口中UnivariateDifferentiableFunction
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
t
- 应计算函数值的点 - 返回:
- 值
-
值
计算函数的值。- 指定者:
-
value
在接口中FieldUnivariateFunction
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
t
- 应计算函数值的点 - 返回:
- 函数的值。
-
获取N
public int getN()获取样条段的数量。它也是多项式的数量和结点数量减1。- 返回:
- 样条段的数量。
-
获取多项式
获取插值多项式数组的副本。它返回数组的新副本。对副本进行的更改不会影响多项式属性。- 返回:
- 插值多项式。
-
获取结点
public double[] getKnots()获取结点的数组副本。它返回数组的新副本。对副本进行的更改不会影响结点属性。- 返回:
- 结点。
-
是否为有效点
public boolean isValidPoint(double x) 指示点是否在插值范围内。- 参数:
-
x
- 点。 - 返回:
-
如果
x
是有效点,则为true
。
-