|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.mklab.nfc.ode.EquationSolver
org.mklab.nfc.ode.DifferentialEquationSolver
org.mklab.nfc.ode.DifferentialEquationAutoSolver
org.mklab.nfc.ode.RungeKuttaFehlberg
public class RungeKuttaFehlberg
ルンゲ・クッタ・フェールベルグ法を用いた常微分方程式の解法を提供するクラスです。
コンストラクタの概要 | |
---|---|
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 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public RungeKuttaFehlberg()
メソッドの詳細 |
---|
public Matrix step(DifferentialEquation equation, double t0, Matrix x0, double h) throws SolverStopException
DifferentialEquationSolver
の記述:h
秒後の微分方程式の解を返します。
DifferentialEquationSolver
内の step
equation
- 常微分方程式t0
- 現在の時刻x0
- 現在の値h
- 経過時間
SolverStopException
- ソルバーが停止された場合DifferentialEquationSolver.step(org.mklab.nfc.ode.DifferentialEquation,
double, org.mklab.nfc.matrix.Matrix, double)
public Matrix step(DifferentialDifferenceEquation equation, double t0, Matrix xc0, Matrix xd0, double step) throws SolverStopException
DifferentialEquationSolver
の記述:h
秒後の微分方程式の解を返します。
DifferentialEquationSolver
内の step
equation
- 微分差分方程式t0
- 現在の時刻xc0
- 現在の微分方程式の値xd0
- 現在の差分方程式の値step
- 経過時間
SolverStopException
- ソルバーが停止された場合DifferentialEquationSolver.step(org.mklab.nfc.ode.DifferentialDifferenceEquation,
double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double)
public Matrix step(DifferentialSystem system, double t0, Matrix x0, double h) throws SolverStopException
DifferentialEquationSolver
の記述:h
秒後の状態を返します。
DifferentialEquationSolver
内の step
system
- シミュレーション対象t0
- 現在の時刻x0
- 現在の状態h
- 経過時間
SolverStopException
- ソルバーが停止された場合DifferentialEquationSolver.step(org.mklab.nfc.ode.DifferentialSystem,
double, org.mklab.nfc.matrix.Matrix, double)
public Matrix step(DifferentialDifferenceSystem system, double t0, Matrix xc0, Matrix xd0, double h) throws SolverStopException
DifferentialEquationSolver
の記述:h
秒後の状態を返します。
DifferentialEquationSolver
内の step
system
- シミュレーション対象t0
- 現在の時刻xc0
- 現在の連続時間システムの状態xd0
- 現在の離散時間システムの状態h
- 経過時間
SolverStopException
- ソルバーが停止された場合DifferentialEquationSolver.step(org.mklab.nfc.ode.DifferentialDifferenceSystem,
double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double)
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
- 実際に採用された刻み幅と次の時刻の刻み幅の候補を成分とする配列
SolverStopException
- ソルバーが停止された場合EquationAutoSolver.stepAuto(org.mklab.nfc.ode.DifferentialSystem,
double, org.mklab.nfc.matrix.Matrix, double, double, double, double,
double[])
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
- 実際に採用された刻み幅と次の時刻の刻み幅の候補を成分とする配列
SolverStopException
- ソルバーが停止された場合EquationAutoSolver.stepAuto(org.mklab.nfc.ode.DifferentialDifferenceSystem,
double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double, double,
double, double, double[])
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
- 採用された刻み幅と次の時刻の刻み幅の候補を成分とする配列
SolverStopException
- ソルバーが停止された場合EquationAutoSolver.stepAuto(org.mklab.nfc.ode.DifferentialEquation,
double, org.mklab.nfc.matrix.Matrix, double, double, double, double,
double[])
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
- 採用された刻み幅と次の時刻の刻み幅の候補を成分とする配列
SolverStopException
- ソルバーが停止された場合EquationAutoSolver.stepAuto(org.mklab.nfc.ode.DifferentialDifferenceEquation,
double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double, double,
double, double, double[])
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |