接口 ODEStateInterpolator
- 所有超级接口:
-
Serializable
- 所有已知子接口:
-
StepInterpolator
该接口表示ODE积分过程中最后一步的插值器。
各种ODE积分器为步处理器提供实现此接口的对象。这些对象通常是与积分器内部算法紧密绑定的自定义对象。处理器可以使用这些对象在前一个和当前网格点之间的中间时间检索状态向量(此功能通常称为密集输出)。
- 另请参阅:
-
方法概要
修饰符和类型方法说明获取当前网格点时间的状态。getInterpolatedState
(double time) 获取插值时间的状态。获取前一个网格点时间的状态。boolean
boolean
检查自然积分方向是否为正向。boolean
-
方法详细资料
-
getPreviousState
ODEStateAndDerivative getPreviousState()获取前一个网格点时间的状态。- 返回:
- 前一个网格点时间的状态
-
isPreviousStateInterpolated
boolean isPreviousStateInterpolated()确定是否通过插值器计算前一个状态
,还是直接计算。通常,前一个状态是由积分器直接计算的,但是当检测到事件时,步长会缩短,以便事件发生在步长边界上,这意味着前一个状态可能由插值器计算。
- 返回:
-
如果前一个状态是由插值器计算的,则为
true
,如果由积分器直接计算,则为false
。
-
getCurrentState
ODEStateAndDerivative getCurrentState()获取当前网格点时间的状态。- 返回:
- 当前网格点时间的状态
-
isCurrentStateInterpolated
boolean isCurrentStateInterpolated()- 返回:
-
如果当前状态是由插值器计算的,则为
true
,如果由积分器直接计算,则为false
。
-
getInterpolatedState
获取插值时间的状态。允许设置超出当前步长的时间,但应谨慎使用,因为远离此步长的插值器的精度可能非常差。此允许性已添加以简化在步长端点附近实现搜索算法。
- 参数:
-
time
- 插值点的时间 - 返回:
- 插值时间的状态
-
isForward
boolean isForward()检查自然积分方向是否为正向。此方法提供由积分器本身指定的积分方向,避免了由于在步骤初始化、步骤控制或离散事件触发时的取消而导致的一些问题。
- 返回:
- 如果积分变量(时间)在积分过程中增加,则为true
-