概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.mklab.nfc.ode
クラス RungeKuttaFehlberg

    java.lang.Object
      org.mklab.nfc.ode.EquationSolver
          org.mklab.nfc.ode.DifferentialEquationSolver
              org.mklab.nfc.ode.DifferentialEquationAutoSolver
                  org.mklab.nfc.ode.RungeKuttaFehlberg

すべての実装されたインタフェース:
  EquationAutoSolver

    public class RungeKuttaFehlberg

extends DifferentialEquationAutoSolver

ルンゲ・クッタ・フェールベルグ法を用いた常微分方程式の解法を提供するクラスです。

バージョン:
  $Revision: 1.50 $, 2004/05/08
作成者:
  koga

コンストラクタの概要
`RungeKuttaFehlberg()`

メソッドの概要
`Matrix` | `step(DifferentialDifferenceEquation equation, double t0, Matrix xc0, Matrix xd0, double step)` `h`秒後の微分方程式の解を返します。
`Matrix` | `step(DifferentialDifferenceSystem system, double t0, Matrix xc0, Matrix xd0, double h)` `h`秒後の状態を返します。
`Matrix` | `step(DifferentialEquation equation, double t0, Matrix x0, double h)` `h`秒後の微分方程式の解を返します。
`Matrix` | `step(DifferentialSystem system, double t0, Matrix x0, double h)` `h`秒後の状態を返します。
`Matrix` | `stepAuto(DifferentialDifferenceEquation equation, double t0, Matrix xc0, Matrix xd0, double trialTimeStep, double minTimeStep, double maxTimeStep, double tolerance, double[] actualStepNextTrialStep)` 指定された許容誤差を満たす次の時刻の状態を求めます。
`Matrix` | `stepAuto(DifferentialDifferenceSystem system, double t0, Matrix xc0, Matrix xd0, double trialTimeStep, double minTimeStep, double maxTimeStep, double tolerance, double[] actualStepNextTrialStep)` 許容誤差を満たすシミュレーション計算を行います。
`Matrix` | `stepAuto(DifferentialEquation equation, double t0, Matrix x0, double trialTimeStep, double minTimeStep, double maxTimeStep, double tolerance, double[] actualStepNextTrialStep)` 指定された許容誤差を満たす次の時刻の状態を求めます。
`Matrix` | `stepAuto(DifferentialSystem system, double t0, Matrix x0, double trialTimeStep, double minTimeStep, double maxTimeStep, double tolerance, double[] actualStepNextTrialStep)` 指定された許容誤差を満たすシミュレーション結果を計算します。

クラス org.mklab.nfc.ode.DifferentialEquationAutoSolver から継承されたメソッド
`getMaximumTimeStep, getMinimumTimeStep, getTolerance, getToleranceOfDiscontinuity, setMaximumTimeStep, setMinimumTimeStep, setTolerance, setToleranceOfDiscontinuity, solveAuto, solveAuto, solveAuto, solveAuto`

クラス org.mklab.nfc.ode.DifferentialEquationSolver から継承されたメソッド
`solve, solve, solve, solve`

クラス org.mklab.nfc.ode.EquationSolver から継承されたメソッド
`getAlgebraicSolution, getContinuousStateSeries, getDifferenceSolution, getDifferentialSolution, getDiscreteStateSeries, getInputOutputSeries, getMinimumSavingInterval, getOutputSeries, getStoppingException, getTimeSeries, getTimeStep, isAtSavingPoint, isSaveAtDiscontinuousPoint, isSaveAtSamplingPoint, isStopping, isTrial, notifyObservers, registerObserver, resetStopper, setAtSavingPoint, setMinimumSavingInterval, setSaveAtDiscontinuousPoint, setSaveAtSamplingPoint, setTimeStep, setTrial, stop, stop, unregisterObserver, warning`

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### RungeKuttaFehlberg

    public RungeKuttaFehlberg()

メソッドの詳細

### step

    public Matrix step(DifferentialEquation equation,
                       double t0,
                       Matrix x0,
                       double h)
                throws SolverStopException

  クラス `DifferentialEquationSolver` の記述:
  `h`秒後の微分方程式の解を返します。

  定義:
    クラス `DifferentialEquationSolver` 内の `step`
  パラメータ:
    `equation` - 常微分方程式
    `t0` - 現在の時刻
    `x0` - 現在の値
    `h` - 経過時間
  戻り値:
    h秒後の微分方程式の解
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DifferentialEquationSolver.step(org.mklab.nfc.ode.DifferentialEquation, double, org.mklab.nfc.matrix.Matrix, double)`

### step

    public Matrix step(DifferentialDifferenceEquation equation,
                       double t0,
                       Matrix xc0,
                       Matrix xd0,
                       double step)
                throws SolverStopException

  クラス `DifferentialEquationSolver` の記述:
  `h`秒後の微分方程式の解を返します。

  定義:
    クラス `DifferentialEquationSolver` 内の `step`
  パラメータ:
    `equation` - 微分差分方程式
    `t0` - 現在の時刻
    `xc0` - 現在の微分方程式の値
    `xd0` - 現在の差分方程式の値
    `step` - 経過時間
  戻り値:
    h秒後の微分方程式の解
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DifferentialEquationSolver.step(org.mklab.nfc.ode.DifferentialDifferenceEquation, double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double)`

### step

    public Matrix step(DifferentialSystem system,
                       double t0,
                       Matrix x0,
                       double h)
                throws SolverStopException

  クラス `DifferentialEquationSolver` の記述:
  `h`秒後の状態を返します。

  定義:
    クラス `DifferentialEquationSolver` 内の `step`
  パラメータ:
    `system` - シミュレーション対象
    `t0` - 現在の時刻
    `x0` - 現在の状態
    `h` - 経過時間
  戻り値:
    h秒後の状態
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DifferentialEquationSolver.step(org.mklab.nfc.ode.DifferentialSystem, double, org.mklab.nfc.matrix.Matrix, double)`

### step

    public Matrix step(DifferentialDifferenceSystem system,
                       double t0,
                       Matrix xc0,
                       Matrix xd0,
                       double h)
                throws SolverStopException

  クラス `DifferentialEquationSolver` の記述:
  `h`秒後の状態を返します。

  定義:
    クラス `DifferentialEquationSolver` 内の `step`
  パラメータ:
    `system` - シミュレーション対象
    `t0` - 現在の時刻
    `xc0` - 現在の連続時間システムの状態
    `xd0` - 現在の離散時間システムの状態
    `h` - 経過時間
  戻り値:
    h秒後の状態
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DifferentialEquationSolver.step(org.mklab.nfc.ode.DifferentialDifferenceSystem, double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double)`

### stepAuto

    public Matrix stepAuto(DifferentialSystem system,
                           double t0,
                           Matrix x0,
                           double trialTimeStep,
                           double minTimeStep,
                           double maxTimeStep,
                           double tolerance,
                           double[] actualStepNextTrialStep)
                    throws SolverStopException

  インタフェース `EquationAutoSolver` の記述:
  指定された許容誤差を満たすシミュレーション結果を計算します。

  刻み幅の候補を引数として与える。実際に採用された刻み幅と次の時刻の刻み幅の候補が返されます。

  パラメータ:
    `system` - シミュレーション対象
    `t0` - 現時刻
    `x0` - 現状態
    `trialTimeStep` - 刻み幅の候補
    `minTimeStep` - 変動する刻み幅の最小値
    `maxTimeStep` - 変動する刻み幅の最大値
    `tolerance` - 許容誤差
    `actualStepNextTrialStep` - 実際に採用された刻み幅と次の時刻の刻み幅の候補を成分とする配列
  戻り値:
    シミュレーション結果{t,x,io}
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `EquationAutoSolver.stepAuto(org.mklab.nfc.ode.DifferentialSystem, double, org.mklab.nfc.matrix.Matrix, double, double, double, double, double[])`

### stepAuto

    public Matrix stepAuto(DifferentialDifferenceSystem system,
                           double t0,
                           Matrix xc0,
                           Matrix xd0,
                           double trialTimeStep,
                           double minTimeStep,
                           double maxTimeStep,
                           double tolerance,
                           double[] actualStepNextTrialStep)
                    throws SolverStopException

  インタフェース `EquationAutoSolver` の記述:
  許容誤差を満たすシミュレーション計算を行います。

  刻み幅の候補を引数として与える。実際に採用された刻み幅と次の時刻の刻み幅の候補が返されます。

  パラメータ:
    `system` - シミュレーション対象
    `t0` - 現在の時刻
    `xc0` - 現在の連続時間システムの状態
    `xd0` - 現在の離散時間システムの状態
    `trialTimeStep` - 刻み幅の候補
    `minTimeStep` - 変動する刻み幅の最小値
    `maxTimeStep` - 変動する刻み幅の最大値
    `tolerance` - 許容誤差
    `actualStepNextTrialStep` - 実際に採用された刻み幅と次の時刻の刻み幅の候補を成分とする配列
  戻り値:
    シミュレーション結果{t,xc,xd,io}
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `EquationAutoSolver.stepAuto(org.mklab.nfc.ode.DifferentialDifferenceSystem, double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double, double, double, double, double[])`

### stepAuto

    public Matrix stepAuto(DifferentialEquation equation,
                           double t0,
                           Matrix x0,
                           double trialTimeStep,
                           double minTimeStep,
                           double maxTimeStep,
                           double tolerance,
                           double[] actualStepNextTrialStep)
                    throws SolverStopException

  インタフェース `EquationAutoSolver` の記述:
  指定された許容誤差を満たす次の時刻の状態を求めます。

  パラメータ:
    `equation` - 常微分方程式
    `t0` - 現時刻
    `x0` - 現状態
    `trialTimeStep` - 刻み幅の候補
    `minTimeStep` - 刻み幅の変動可能最小値
    `maxTimeStep` - 刻み幅の変動可能最大値
    `tolerance` - 許容誤差
    `actualStepNextTrialStep` - 採用された刻み幅と次の時刻の刻み幅の候補を成分とする配列
  戻り値:
    微分方程式の解{t,x}
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `EquationAutoSolver.stepAuto(org.mklab.nfc.ode.DifferentialEquation, double, org.mklab.nfc.matrix.Matrix, double, double, double, double, double[])`

### stepAuto

    public Matrix stepAuto(DifferentialDifferenceEquation equation,
                           double t0,
                           Matrix xc0,
                           Matrix xd0,
                           double trialTimeStep,
                           double minTimeStep,
                           double maxTimeStep,
                           double tolerance,
                           double[] actualStepNextTrialStep)
                    throws SolverStopException

  インタフェース `EquationAutoSolver` の記述:
  指定された許容誤差を満たす次の時刻の状態を求めます。

  パラメータ:
    `equation` - 微分差分方程式
    `t0` - 現在の時刻
    `xc0` - 微分方程式の現在の状態
    `xd0` - 差分方程式の現在の状態
    `trialTimeStep` - 刻み幅の候補
    `minTimeStep` - 刻み幅の変動可能最小値
    `maxTimeStep` - 刻み幅の変動可能最大値
    `tolerance` - 許容誤差
    `actualStepNextTrialStep` - 採用された刻み幅と次の時刻の刻み幅の候補を成分とする配列
  戻り値:
    微分差分方程式の解{t,x}
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `EquationAutoSolver.stepAuto(org.mklab.nfc.ode.DifferentialDifferenceEquation, double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double, double, double, double, double[])`

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド