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

## org.mklab.nfc.ode
インタフェース EquationAutoSolver

既知の実装クラスの一覧:
  DifferentialEquationAutoSolver, RungeKutta4, RungeKuttaFehlberg

    public interface EquationAutoSolver

指定された許容誤差を満たすように方程式の解を求めるソルバーを表すインターフェースです。

バージョン:
  $Revision$
作成者:
  koga

メソッドの概要
`double` | `getMaximumTimeStep()` 刻み幅の変動可能最大値を返します。
`double` | `getMinimumTimeStep()` 刻み幅の変動可能最小値を返します。
`double` | `getTolerance()` 許容誤差を返します。
`double` | `getToleranceOfDiscontinuity()` 不連続点の時刻に関する許容誤差を返します。
`void` | `setMaximumTimeStep(double maximumTimeStep)` 刻み幅の変動可能最大値を設定します。
`void` | `setMinimumTimeStep(double minimumTimeStep)` 刻み幅の変動可能最小値を設定します。
`void` | `setTolerance(double tolerance)` 許容誤差を設定します。
`void` | `setToleranceOfDiscontinuity(double toleranceOfDiscontinuity)` 不連続点の時刻に関する許容誤差を設定します。
`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)` 指定された許容誤差を満たすシミュレーション結果を計算します。

メソッドの詳細

### setTolerance

    void setTolerance(double tolerance)

  許容誤差を設定します。

  パラメータ:
    `tolerance` - 許容誤差

### getTolerance

    double getTolerance()

  許容誤差を返します。

  戻り値:
    許容誤差

### setToleranceOfDiscontinuity

    void setToleranceOfDiscontinuity(double toleranceOfDiscontinuity)

  不連続点の時刻に関する許容誤差を設定します。

  パラメータ:
    `toleranceOfDiscontinuity` - 不連続点の時刻に関する許容誤差

### getToleranceOfDiscontinuity

    double getToleranceOfDiscontinuity()

  不連続点の時刻に関する許容誤差を返します。

  戻り値:
    不連続点の時刻に関する許容誤差

### setMinimumTimeStep

    void setMinimumTimeStep(double minimumTimeStep)

  刻み幅の変動可能最小値を設定します。

  パラメータ:
    `minimumTimeStep` - 刻み幅の変動可能最小値

### getMinimumTimeStep

    double getMinimumTimeStep()

  刻み幅の変動可能最小値を返します。

  戻り値:
    刻み幅の変動可能最小値

### setMaximumTimeStep

    void setMaximumTimeStep(double maximumTimeStep)

  刻み幅の変動可能最大値を設定します。

  パラメータ:
    `maximumTimeStep` - 刻み幅の変動可能最大値

### getMaximumTimeStep

    double getMaximumTimeStep()

  刻み幅の変動可能最大値を返します。

  戻り値:
    刻み幅の変動可能最大値

### stepAuto

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

  指定された許容誤差を満たす次の時刻の状態を求めます。

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

### stepAuto

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

  指定された許容誤差を満たす次の時刻の状態を求めます。

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

### stepAuto

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

  指定された許容誤差を満たすシミュレーション結果を計算します。

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

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

### stepAuto

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

  許容誤差を満たすシミュレーション計算を行います。

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

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

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