程序包 org.hipparchus.ode

类 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实例中存储的数据量可能很重要。

另请参阅: