Mathematics | ![]() ![]() |
初期値 ODE 問題のソルバ
つぎのような、MATLAB初期値問題のソルバがあります。表には、各ソルバを使って解くことのできる問題の種類と各ソルバが使用している手法をリストしています。
ソルバ |
解くことのできる問題の種類 |
手法 |
|
ノンステッフな微分方程式 |
Runge-Kutta |
|
ノンステッフな微分方程式 |
Runge-Kutta |
|
ノンステッフな微分方程式 |
Adams |
|
ステッフな微分方程式と代数方程式 |
NDFs (BDFs) |
|
ステッフな微分方程式 |
Rosenbrock |
|
中程度のステッフな微分方程式と代数方程式 |
Trapezoidal rule |
|
ステッフな微分方程式 |
TR-BDF2 |
ODE オプションの取り扱い
積分プロパティ名と値を含むOptions構造体がソルバに渡されて、問題の解に影響を与えます。つぎの関数を使って、Options構造体を作成したり、変更したり、アクセスすることができます。
関数 |
詳細 |
|
ODE ソルバへの入力に対するOptions 構造体の作成と変更 |
|
odeset を使って作成したOptions構造体からプロパティを取得 |
ODE ソルバ出力関数
出力関数が設定されると、ソルバは、連続的に行なう積分ステップ毎に指定した関数をコールします。ユーザは、odeset
を使って、 OutputFcn プロパティのように、これらのサンプル関数の一つを設定でき、また、これらを変更して、ユーザ自身の関数を作成できます。
関数 |
詳細 |
|
時系列プロット |
|
2次元の位相面プロット |
|
3次元の位相面プロット |
|
コマンドウインドウにプリント |
ODE初期値問題のデモ
これらのデモは、MATLABの中で解くことのできる問題の種類を示しています。MATLABのHelp Browserから、デモ名をクリックして、エディタでデモコードを見ることができます。デモを実行するには、コマンドラインで、demoname
と入力してください。
デモ |
詳細 |
amp1dae |
ステッフな DAE - 電子回路 |
ballode |
簡単なイベントの生じる位置 - バウンドするボール |
batonode |
時変、状態に依存した質量行列をもつ ODE - バトンの運動 |
brussode |
ステッフな大規模問題 - 化学反応の拡散作用 (Brusselator) |
burgersode |
状態量に非常に依存した質量行列をもつODE - メッシュを変更する手法を使って、Burgerの方程式を解く |
fem1ode |
時変の質量行列をもつステッフな問題 - 有限要素法 |
fem2ode |
定質量行列をもつステッフな問題 - 有限要素法 |
hb1dae |
保存則下でのステッフな DAE 問題 |
hb1ode |
非常に長い区間でステッフな問題を解く - Robertson 化学反応 |
orbitode |
より進んだイベントの生じる位置の検出 - 制約付きの3体問題 |
rigidode |
ノンステッフな問題 - 外力のない剛体の Euler 方程式 |
vdpode |
パラメータ化した van der Pol 方程式 (大きな ![]() |
![]() | ODE問題とDAE問題に対する初期値問題 | 初期値 ODE 問題の導入 | ![]() |