接口 OrdinaryDifferentialEquation
- 所有已知子接口:
-
FirstOrderDifferentialEquations
,MainStateJacobianProvider
,ODEJacobiansProvider
,ODEStateInterpolatorAbstractTest.ReferenceODE
- 所有已知实现类:
-
CloseEventsTest.Equation
,FirstOrderConverter
,OverlappingEventsTest
,StepNormalizerOutputOverlapTest
,StepNormalizerOutputTest
,StepNormalizerOutputTestBase
,StepProblem
,TestProblem1
,TestProblem2
,TestProblem3
,TestProblem4
,TestProblem5
,TestProblem6
,TestProblem7
,TestProblem8
,TestProblemAbstract
,VariableCheckInterval
public interface OrdinaryDifferentialEquation
该接口表示一组一阶微分方程。
在实现此接口之前,所有真实的一阶微分方程问题都应该能够通过积分器的ODEIntegrator.integrate(OrdinaryDifferentialEquation, ODEState, double)
方法进行处理。
从积分器的角度来看,一阶微分方程问题是状态向量Y
的时间导数dY/dt
,两者都是一维数组。从积分器的角度来看,这个导数仅取决于当前时间t
和状态向量Y
。
对于真实问题,导数还取决于不属于状态向量的参数(例如动力学模型常数)。这些常数完全超出了此接口的范围,实现它的类可以根据需要处理它们。
- 另请参阅:
-
方法概要
修饰符和类型方法说明double[]
computeDerivatives
(double t, double[] y) 获取状态向量的当前时间导数。int
获取问题的维度。default void
init
(double t0, double[] y0, double finalTime) 在ODE积分开始时初始化方程。
-
方法详细资料
-
getDimension
int getDimension()获取问题的维度。- 返回:
- 问题的维度
-
init
default void init(double t0, double[] y0, double finalTime) 在ODE积分开始时初始化方程。此方法在积分开始时调用一次。如果需要,方程可以使用它来初始化一些内部数据。
默认实现不执行任何操作。
- 参数:
-
t0
- 积分开始时独立时间变量的值 -
y0
- 包含积分开始时状态向量值的数组 -
finalTime
- 积分的目标时间
-
computeDerivatives
double[] computeDerivatives(double t, double[] y) 获取状态向量的当前时间导数。- 参数:
-
t
- 当前独立时间变量的值 -
y
- 包含当前状态向量值的数组 - 返回:
- 状态向量的时间导数
-