类 FieldDenseOutputModel<T extends CalculusFieldElement<T>>
java.lang.Object
org.hipparchus.ode.FieldDenseOutputModel<T>
- 类型参数:
-
T
- 字段元素的类型
- 所有已实现的接口:
-
FieldODEStepHandler<T>
public class FieldDenseOutputModel<T extends CalculusFieldElement<T>> extends Object implements FieldODEStepHandler<T>
此类存储ODE积分器在积分过程中提供的所有信息,并从中构建解的连续模型。
从积分器的角度来看,此类充当步处理程序。在积分过程中迭代调用它,并将所有步骤信息的副本存储在排序集合中以供以后使用。一旦积分过程结束,用户可以使用getInterpolatedState
方法随时检索此信息。在尝试调用getInterpolatedState(CalculusFieldElement)
之前等待积分结束很重要,因为一些内部变量只有在处理最后一步后才设置。
例如,如果用户应用程序的主循环应保持独立于积分过程,或者如果需要模仿数值模型的行为,尽管使用了数值模型(即需要能够随时获取模型值或浏览数据),则此类很有用。
如果问题建模使用多个连续间隔的独立积分阶段,那么可以将同一FieldDenseOutputModel用作所有积分阶段的步处理程序,只要它们按顺序和相同方向执行。例如,可以使用一个模型(即一组微分方程)来外推卫星的轨迹直到机动开始,使用另一个更复杂的模型包括推进器建模和精确的姿态控制在机动期间,并在机动结束后恢复到第一个模型。如果同一连续输出模型处理所有积分阶段的步骤,用户无需在机动何时开始或结束时烦恼,他可以以透明的方式获得所有数据。
应该注意,如果状态向量很大,积分间隔很长,或者步长很小(这可能是由于自适应步长积分器
中的小容差设置导致的),则在FieldDenseOutputModel实例中存储的数据量可能很重要。
- 另请参阅:
-
构造器概要
-
方法概要
修饰符和类型方法说明void
append
(FieldDenseOutputModel<T> model) 在实例末尾附加另一个模型。void
finish
(FieldODEStateAndDerivative<T> finalState) 完成积分。获取最终积分时间。获取初始积分时间。getInterpolatedState
(T time) 获取插值时间处的状态。void
handleStep
(FieldODEStateInterpolator<T> interpolator) 处理最后接受的步骤。void
init
(FieldODEStateAndDerivative<T> initialState, T t) 在ODE积分开始时初始化步处理程序。
-
构造器详细资料
-
FieldDenseOutputModel
public FieldDenseOutputModel()简单构造函数。构建一个空的连续输出模型。
-
-
方法详细资料
-
append
public void append(FieldDenseOutputModel<T> model) throws MathIllegalArgumentException, MathIllegalStateException 在实例末尾附加另一个模型。- 参数:
-
model
- 要添加到实例末尾的模型 - 抛出:
-
MathIllegalArgumentException
- 如果要附加的模型与实例不兼容(状态向量的维数、传播方向、日期之间的间隙) -
MathIllegalArgumentException
- 如果状态的维数或次要状态的数量不匹配 -
MathIllegalStateException
- 如果在步骤完成期间超过了函数评估的数量
-
init
在ODE积分开始时初始化步处理程序。此方法在积分开始时仅调用一次。如果需要,步处理程序可以使用此方法初始化一些内部数据。
默认实现不执行任何操作。
- 指定者:
-
init
在接口中FieldODEStepHandler<T extends CalculusFieldElement<T>>
- 参数:
-
initialState
- 初始时间、状态向量和导数 -
t
- 积分的目标时间
-
handleStep
处理最后接受的步骤。- 指定者:
-
handleStep
在接口中FieldODEStepHandler<T extends CalculusFieldElement<T>>
- 参数:
-
interpolator
- 最后接受步骤的插值器
-
finish
完成积分。- 指定者:
-
finish
在接口中FieldODEStepHandler<T extends CalculusFieldElement<T>>
- 参数:
-
finalState
- 积分结束时的状态
-
getInitialTime
获取初始积分时间。- 返回:
- 初始积分时间
-
getFinalTime
获取最终积分时间。- 返回:
- 最终积分时间
-
getInterpolatedState
获取插值时间处的状态。- 参数:
-
time
- 插值点的时间 - 返回:
- 插值时间处的状态
-