程序包 org.hipparchus.ode

类 TestFieldProblemAbstract<T extends CalculusFieldElement<T>>

java.lang.Object
org.hipparchus.ode.TestFieldProblemAbstract<T>
类型参数:
T - 字段元素的类型
所有已实现的接口:
FieldOrdinaryDifferentialEquation<T>
直接已知子类:
TestFieldProblem1, TestFieldProblem2, TestFieldProblem3, TestFieldProblem4, TestFieldProblem5, TestFieldProblem6, TestFieldProblem7, TestFieldProblem8

public abstract class TestFieldProblemAbstract<T extends CalculusFieldElement<T>> extends Object implements FieldOrdinaryDifferentialEquation<T>
该类用作在ODE积分期间进行单元测试的问题的基类。
  • 构造器详细资料

    • TestFieldProblemAbstract

      protected TestFieldProblemAbstract(T t0, T[] y0, T t1, T[] errorScale)
      简单构造函数。
      参数:
      t0 - 初始时间
      y0 - 初始状态
      t1 - 最终时间
      errorScale - 误差比例
  • 方法详细资料

    • getField

      public Field<T> getField()
      获取元素所属的字段。
      返回:
      元素所属的字段
    • getDimension

      public int getDimension()
      获取问题维度。
      指定者:
      getDimension 在接口中 FieldOrdinaryDifferentialEquation<T extends CalculusFieldElement<T>>
      返回:
      问题维度
    • getInitialTime

      public T getInitialTime()
      获取初始时间。
      返回:
      初始时间
    • getInitialState

      public FieldODEState<T> getInitialState()
      获取初始状态。
      返回:
      初始状态
    • getFinalTime

      public T getFinalTime()
      获取最终时间。
      返回:
      最终时间
    • getErrorScale

      public T[] getErrorScale()
      获取误差比例。
      返回:
      误差比例
    • getEventDetectors

      public FieldODEEventDetector<T>[] getEventDetectors(double maxCheck, T threshold, int maxIter)
      获取事件检测器。
      参数:
      maxCheck - 最大检查间隔,必须严格为正
      threshold - 收敛阈值(s)
      maxIter - 事件时间搜索中的最大迭代次数
      返回:
      事件检测器
    • getTheoreticalEventsTimes

      public T[] getTheoreticalEventsTimes()
      获取理论事件时间。
      返回:
      理论事件时间
    • getCalls

      public int getCalls()
      获取调用次数。
      返回:
      调用次数
    • init

      public void init(T t0, T[] y0, T t)
      在ODE积分开始时初始化方程。

      该方法在积分开始时调用一次。如果需要,方程可以使用它来初始化一些内部数据。

      默认实现不执行任何操作。

      指定者:
      init 在接口中 FieldOrdinaryDifferentialEquation<T extends CalculusFieldElement<T>>
      参数:
      t0 - 积分开始时独立时间变量的值
      y0 - 包含积分开始时状态向量值的数组
      t - 积分的目标时间
    • computeDerivatives

      public T[] computeDerivatives(T t, T[] y)
      获取状态向量的当前时间导数。
      指定者:
      computeDerivatives 在接口中 FieldOrdinaryDifferentialEquation<T extends CalculusFieldElement<T>>
      参数:
      t - 当前独立时间变量的当前值
      y - 包含当前状态向量当前值的数组
      返回:
      状态向量的时间导数
    • doComputeDerivatives

      public abstract T[] doComputeDerivatives(T t, T[] y)
    • computeTheoreticalState

      public abstract T[] computeTheoreticalState(T t)
      计算指定时间的理论状态。
      参数:
      t - 需要状态的时间
      返回:
      时间t时的状态向量
    • convert

      protected static <T extends CalculusFieldElement<T>> T convert(Field<T> field, double d)
      转换为double类型。
      参数:
      d - 要转换的double
      返回:
      转换后的double
    • convert

      protected static <T extends CalculusFieldElement<T>> T[] convert(Field<T> field, double... elements)
      转换为一维数组。
      参数:
      elements - 数组元素
      返回:
      转换后的数组