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

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

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

直系の既知のサブクラス:
  DifferentialEquationAutoSolver, ImprovedEuler, ModifiedEuler

    public abstract class DifferentialEquationSolver

extends EquationSolver

常微分方程式の解法を扱うための抽象クラスです。

具体的な解法アルゴリズムはこのクラスを継承した子クラスで実装します。

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

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

メソッドの概要
`void` | `solve(DifferentialDifferenceEquation equation, double t0, double t1, Matrix xc0, Matrix xd0)` `t0`秒から`t1`秒までの解を求め, 結果を `Matrix` の配列として返します。
`void` | `solve(DifferentialDifferenceSystem system, double t0, double t1, Matrix xc0, Matrix xd0)` `t0`秒から`t1`秒までのシミュレーションを行い, 結果を `Matrix`の配列として返します。
`void` | `solve(DifferentialEquation equation, double t0, double t1, Matrix x0)` `t0`秒から`t1`秒までの解を求め, 結果を `Matrix` の配列として返します。
`void` | `solve(DifferentialSystem system, double t0, double t1, Matrix x0)` `t0`秒から`t1`秒までのシミュレーションを行い, 結果を `Matrix`の配列として返します。
`abstract Matrix` | `step(DifferentialDifferenceEquation equation, double t, Matrix xc, Matrix xd, double h)` `h`秒後の微分方程式の解を返します。
`abstract Matrix` | `step(DifferentialDifferenceSystem system, double t, Matrix xc, Matrix xd, double h)` `h`秒後の状態を返します。
`abstract Matrix` | `step(DifferentialEquation equation, double t, Matrix x, double h)` `h`秒後の微分方程式の解を返します。
`abstract Matrix` | `step(DifferentialSystem system, double t, Matrix x, double h)` `h`秒後の状態を返します。

クラス 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`

コンストラクタの詳細

### DifferentialEquationSolver

    public DifferentialEquationSolver()

メソッドの詳細

### step

    public abstract Matrix step(DifferentialSystem system,
                                double t,
                                Matrix x,
                                double h)
                         throws SolverStopException

  `h`秒後の状態を返します。

  パラメータ:
    `system` - シミュレーション対象
    `t` - 現在の時刻
    `x` - 現在の状態
    `h` - 経過時間
  戻り値:
    h秒後の状態
  例外:
    `SolverStopException` - ソルバーが停止された場合

### step

    public abstract Matrix step(DifferentialDifferenceSystem system,
                                double t,
                                Matrix xc,
                                Matrix xd,
                                double h)
                         throws SolverStopException

  `h`秒後の状態を返します。

  パラメータ:
    `system` - シミュレーション対象
    `t` - 現在の時刻
    `xc` - 現在の連続時間システムの状態
    `xd` - 現在の離散時間システムの状態
    `h` - 経過時間
  戻り値:
    h秒後の状態
  例外:
    `SolverStopException` - ソルバーが停止された場合

### solve

    public void solve(DifferentialSystem system,
                      double t0,
                      double t1,
                      Matrix x0)

  `t0`秒から`t1`秒までのシミュレーションを行い, 結果を `Matrix`の配列として返します。

  パラメータ:
    `system` - シミュレーション対象
    `t0` - シミュレーション開始時刻
    `t1` - シミュレーション終了時刻
    `x0` - 初期状態

### solve

    public void solve(DifferentialDifferenceSystem system,
                      double t0,
                      double t1,
                      Matrix xc0,
                      Matrix xd0)

  `t0`秒から`t1`秒までのシミュレーションを行い, 結果を `Matrix`の配列として返します。

  パラメータ:
    `system` - シミュレーション対象
    `t0` - シミュレーション開始時刻
    `t1` - シミュレーション終了時刻
    `xc0` - 連続時間システムの初期状態
    `xd0` - 離散時間システムの初期状態

### step

    public abstract Matrix step(DifferentialEquation equation,
                                double t,
                                Matrix x,
                                double h)
                         throws SolverStopException

  `h`秒後の微分方程式の解を返します。

  パラメータ:
    `equation` - 常微分方程式
    `t` - 現在の時刻
    `x` - 現在の値
    `h` - 経過時間
  戻り値:
    h秒後の微分方程式の解
  例外:
    `SolverStopException` - ソルバーが停止された場合

### step

    public abstract Matrix step(DifferentialDifferenceEquation equation,
                                double t,
                                Matrix xc,
                                Matrix xd,
                                double h)
                         throws SolverStopException

  `h`秒後の微分方程式の解を返します。

  パラメータ:
    `equation` - 微分差分方程式
    `t` - 現在の時刻
    `xc` - 現在の微分方程式の値
    `xd` - 現在の差分方程式の値
    `h` - 経過時間
  戻り値:
    h秒後の微分方程式の解
  例外:
    `SolverStopException` - ソルバーが停止された場合

### solve

    public void solve(DifferentialEquation equation,
                      double t0,
                      double t1,
                      Matrix x0)

  `t0`秒から`t1`秒までの解を求め, 結果を `Matrix` の配列として返します。

  パラメータ:
    `equation` - 常微分方程式
    `t0` - 初期時刻
    `t1` - 最終時刻
    `x0` - 初期値

### solve

    public void solve(DifferentialDifferenceEquation equation,
                      double t0,
                      double t1,
                      Matrix xc0,
                      Matrix xd0)

  `t0`秒から`t1`秒までの解を求め, 結果を `Matrix` の配列として返します。

  パラメータ:
    `equation` - 微分差分方程式
    `t0` - 初期時刻
    `t1` - 最終時刻
    `xc0` - 微分方程式の解の初期値
    `xd0` - 差分方程式の解の初期値

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