org.mklab.nfc.ode
クラス DifferentialEquationAutoSolver

java.lang.Object
  上位を拡張 org.mklab.nfc.ode.EquationSolver
      上位を拡張 org.mklab.nfc.ode.DifferentialEquationSolver
          上位を拡張 org.mklab.nfc.ode.DifferentialEquationAutoSolver
すべての実装されたインタフェース:
EquationAutoSolver
直系の既知のサブクラス:
RungeKutta4, RungeKuttaFehlberg

public abstract class DifferentialEquationAutoSolver
extends DifferentialEquationSolver
implements EquationAutoSolver

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

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

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

コンストラクタの概要
DifferentialEquationAutoSolver()
           
 
メソッドの概要
 double getMaximumTimeStep()
          刻み幅の変動可能最大値を返します。
 double getMinimumTimeStep()
          刻み幅の変動可能最小値を返します。
 double getTolerance()
          許容誤差を返します。
 double getToleranceOfDiscontinuity()
          不連続点の時刻に関する許容誤差を返します。
 void setMaximumTimeStep(double maximumTimeStep)
          刻み幅の変動可能最大値を設定します。
 void setMinimumTimeStep(double minimumTimeStep)
          刻み幅の変動可能最小値を設定します。
 void setTolerance(double tolerance)
          許容誤差を設定します。
 void setToleranceOfDiscontinuity(double toleranceOfDiscontinuity)
          不連続点の時刻に関する許容誤差を設定します。
 void solveAuto(DifferentialDifferenceEquation equation, double t0, double t1, Matrix xc0, Matrix xd0)
          指定された許容誤差を満たすように微分差分方程式の解を求めます。
 void solveAuto(DifferentialDifferenceSystem system, double t0, double t1, Matrix xc0, Matrix xd0)
          指定された許容誤差でシミュレーション計算を行い、状態の時系列を返します。
 void solveAuto(DifferentialEquation equation, double t0, double t1, Matrix x0)
          指定された許容誤差を満たすように微分方程式の解を求めます。
 void solveAuto(DifferentialSystem system, double t0, double t1, Matrix x0)
          指定された許容誤差でシミュレーション計算を行います。
 
クラス org.mklab.nfc.ode.DifferentialEquationSolver から継承されたメソッド
solve, solve, solve, solve, step, step, step, step
 
クラス 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
 
インタフェース org.mklab.nfc.ode.EquationAutoSolver から継承されたメソッド
stepAuto, stepAuto, stepAuto, stepAuto
 

コンストラクタの詳細

DifferentialEquationAutoSolver

public DifferentialEquationAutoSolver()
メソッドの詳細

setTolerance

public void setTolerance(double tolerance)
インタフェース EquationAutoSolver の記述:
許容誤差を設定します。

定義:
インタフェース EquationAutoSolver 内の setTolerance
パラメータ:
tolerance - 許容誤差
関連項目:
EquationAutoSolver.setTolerance(double)

getTolerance

public double getTolerance()
インタフェース EquationAutoSolver の記述:
許容誤差を返します。

定義:
インタフェース EquationAutoSolver 内の getTolerance
戻り値:
許容誤差
関連項目:
EquationAutoSolver.getTolerance()

setToleranceOfDiscontinuity

public void setToleranceOfDiscontinuity(double toleranceOfDiscontinuity)
インタフェース EquationAutoSolver の記述:
不連続点の時刻に関する許容誤差を設定します。

定義:
インタフェース EquationAutoSolver 内の setToleranceOfDiscontinuity
パラメータ:
toleranceOfDiscontinuity - 不連続点の時刻に関する許容誤差
関連項目:
EquationAutoSolver.setToleranceOfDiscontinuity(double)

getToleranceOfDiscontinuity

public double getToleranceOfDiscontinuity()
インタフェース EquationAutoSolver の記述:
不連続点の時刻に関する許容誤差を返します。

定義:
インタフェース EquationAutoSolver 内の getToleranceOfDiscontinuity
戻り値:
不連続点の時刻に関する許容誤差
関連項目:
EquationAutoSolver.getToleranceOfDiscontinuity()

setMinimumTimeStep

public void setMinimumTimeStep(double minimumTimeStep)
インタフェース EquationAutoSolver の記述:
刻み幅の変動可能最小値を設定します。

定義:
インタフェース EquationAutoSolver 内の setMinimumTimeStep
パラメータ:
minimumTimeStep - 刻み幅の変動可能最小値
関連項目:
EquationAutoSolver.setMinimumTimeStep(double)

getMinimumTimeStep

public double getMinimumTimeStep()
インタフェース EquationAutoSolver の記述:
刻み幅の変動可能最小値を返します。

定義:
インタフェース EquationAutoSolver 内の getMinimumTimeStep
戻り値:
刻み幅の変動可能最小値
関連項目:
EquationAutoSolver.getMinimumTimeStep()

setMaximumTimeStep

public void setMaximumTimeStep(double maximumTimeStep)
インタフェース EquationAutoSolver の記述:
刻み幅の変動可能最大値を設定します。

定義:
インタフェース EquationAutoSolver 内の setMaximumTimeStep
パラメータ:
maximumTimeStep - 刻み幅の変動可能最大値
関連項目:
EquationAutoSolver.setMaximumTimeStep(double)

getMaximumTimeStep

public double getMaximumTimeStep()
インタフェース EquationAutoSolver の記述:
刻み幅の変動可能最大値を返します。

定義:
インタフェース EquationAutoSolver 内の getMaximumTimeStep
戻り値:
刻み幅の変動可能最大値
関連項目:
EquationAutoSolver.getMaximumTimeStep()

solveAuto

public void solveAuto(DifferentialSystem system,
                      double t0,
                      double t1,
                      Matrix x0)
指定された許容誤差でシミュレーション計算を行います。

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

solveAuto

public void solveAuto(DifferentialDifferenceSystem system,
                      double t0,
                      double t1,
                      Matrix xc0,
                      Matrix xd0)
指定された許容誤差でシミュレーション計算を行い、状態の時系列を返します。

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

solveAuto

public void solveAuto(DifferentialEquation equation,
                      double t0,
                      double t1,
                      Matrix x0)
指定された許容誤差を満たすように微分方程式の解を求めます。

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

solveAuto

public void solveAuto(DifferentialDifferenceEquation equation,
                      double t0,
                      double t1,
                      Matrix xc0,
                      Matrix xd0)
               throws SolverStopException
指定された許容誤差を満たすように微分差分方程式の解を求めます。

パラメータ:
equation - 微分差分方程式
t0 - 初期時刻
t1 - 最終時刻
xc0 - 微分方程式の初期値
xd0 - 差分方程式の初期値
例外:
SolverStopException - ソルバーが停止された場合