类 LutherFieldIntegrator<T extends CalculusFieldElement<T>>

类型参数:
T - 字段元素的类型
所有已实现的接口:
FieldODEIntegrator<T>, FieldButcherArrayProvider<T>

public class LutherFieldIntegrator<T extends CalculusFieldElement<T>> extends RungeKuttaFieldIntegrator<T>
该类实现了用于普通微分方程的Luther六阶Runge-Kutta积分器。

该方法在H. A. Luther 1968年的论文中描述:显式六阶Runge-Kutta公式

该方法是一个显式Runge-Kutta方法,其Butcher数组如下:

        0   |               0                     0                     0                     0                     0                     0
        1   |               1                     0                     0                     0                     0                     0
       1/2  |              3/8                   1/8                    0                     0                     0                     0
       2/3  |              8/27                  2/27                  8/27                   0                     0                     0
   (7-q)/14 | (  -21 +   9q)/392    (  -56 +   8q)/392    (  336 -  48q)/392    (  -63 +   3q)/392                  0                     0
   (7+q)/14 | (-1155 - 255q)/1960   ( -280 -  40q)/1960   (    0 - 320q)/1960   (   63 + 363q)/1960   ( 2352 + 392q)/1960                 0
        1   | (  330 + 105q)/180    (  120 +   0q)/180    ( -200 + 280q)/180    (  126 - 189q)/180    ( -686 - 126q)/180     ( 490 -  70q)/180
            |--------------------------------------------------------------------------------------------------------------------------------------------------
            |              1/20                   0                   16/45                  0                   49/180                 49/180         1/20
 

其中q = √21

另请参阅:
  • 构造器详细资料

    • LutherFieldIntegrator

      public LutherFieldIntegrator(Field<T> field, T step)
      简单构造函数。使用给定的步长构建一个四阶Luther积分器。
      参数:
      field - 时间和状态向量元素所属的字段
      step - 积分步长
  • 方法详细资料

    • getC

      public T[] getC()
      从Butcher数组中获取时间步长(不包括第一个零)。
      返回:
      从Butcher数组中获取时间步长(不包括第一个零)
    • getA

      public T[][] getA()
      从Butcher数组中获取内部权重(不包括第一行空行)。
      返回:
      从Butcher数组中获取内部权重(不包括第一行空行)
    • getB

      public T[] getB()
      从Butcher数组中获取高阶方法的外部权重。
      返回:
      从Butcher数组中获取高阶方法的外部权重
    • createInterpolator

      protected org.hipparchus.ode.nonstiff.LutherFieldStateInterpolator<T> createInterpolator(boolean forward, T[][] yDotK, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldEquationsMapper<T> mapper)
      创建一个插值器。
      指定者:
      createInterpolator 在类中 RungeKuttaFieldIntegrator<T extends CalculusFieldElement<T>>
      参数:
      forward - 积分方向指示器
      yDotK - 中间点的斜率
      globalPreviousState - 全局步骤的起始点
      globalCurrentState - 全局步骤的结束点
      mapper - 所有方程的方程映射器
      返回:
      从Butcher数组中获取高阶方法的外部权重