类 ExpandableODE
java.lang.Object
org.hipparchus.ode.ExpandableODE
该类表示一组一阶微分方程,至少包含一个主要方程集,可以通过一些次要方程集进行扩展。
一个典型的用例是计算某些ODE的雅可比矩阵。在这种情况下,主要方程集对应于原始ODE,我们在这个集合中添加另一组次要方程,这些方程代表主要方程的雅可比矩阵。
我们希望积分器仅使用主要方程集来估计误差和步长。在这个计算中,它不应该使用次要方程。积分器
将能够知道主要方程集的结束位置以及次要方程集的开始位置。
- 另请参阅:
-
构造器概要
-
方法概要
修饰符和类型方法说明int
addSecondaryEquations
(SecondaryODE secondary) 添加一组次要方程以与主要方程集一起进行积分。double[]
computeDerivatives
(double t, double[] y) 获取完整状态向量的当前时间导数。获取方程集的映射器。获取要进行积分的主要微分方程集。void
在ODE积分开始时初始化方程。
-
构造器详细资料
-
ExpandableODE
从其主要ODE集构建可扩展集。- 参数:
-
primary
- 要进行积分的主要微分方程集。
-
-
方法详细资料
-
getPrimary
获取要进行积分的主要微分方程集。- 返回:
- 要进行积分的主要微分方程集
-
getMapper
获取方程集的映射器。- 返回:
- 方程集的映射器
-
addSecondaryEquations
添加一组次要方程以与主要方程集一起进行积分。- 参数:
-
secondary
- 次要方程集 - 返回:
-
扩展状态中次要方程的索引,可用作
FieldODEState.getSecondaryState(int)
和FieldODEStateAndDerivative.getSecondaryDerivative(int)
的参数(注意索引0对应于主要状态,次要状态从1开始)
-
init
在ODE积分开始时初始化方程。- 参数:
-
s0
- 积分开始时的状态 -
finalTime
- 积分的目标时间 - 抛出:
-
MathIllegalStateException
- 如果函数评估次数超过限制 -
MathIllegalArgumentException
- 如果数组维度与方程设置不匹配
-
computeDerivatives
public double[] computeDerivatives(double t, double[] y) throws MathIllegalArgumentException, MathIllegalStateException 获取完整状态向量的当前时间导数。- 参数:
-
t
- 独立时间变量的当前值 -
y
- 包含完整状态向量当前值的数组 - 返回:
- 完整状态向量的时间导数
- 抛出:
-
MathIllegalStateException
- 如果函数评估次数超过限制 -
MathIllegalArgumentException
- 如果数组维度与方程设置不匹配
-