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 - 差分方程式の解の初期値