odeoptions
ODEソルバのオプションを設定する
呼び出し手順
odeoptions()
説明
この関数はODEソルバに様々なオプションを設定する
コマンドを対話的に表示します.
グローバル変数
%ODEOPTIONS はオプションを設定します.
![]() | ode 関数は,この変数が存在するかどうかを調べ,
存在する場合にはこれを使用します.
デフォルト値を使用するには,この変数を消去してください.
この変数を作成するには,
%ODEOPTIONS=odeoptions()命令
を実行する必要があります. |
変数 %ODEOPTIONS は以下の要素を
有するベクトルです:
[itask, tcrit, h0, hmax, hmin, jactyp, mxstep, maxordn, maxords, ixpr, ml, mu].
デフォルト値は以下となります:[1,0,0,%inf,0,2,500,12,5,0,-1,-1]
これらの要素の意味を以下に示します.
itasksets the integration mode:1: 指定した時間で通常の計算を行う
2 : (
odeの出力の最初行で指定した) メッシュ点で計算3 : 1内部メッシュ点で1ステップ進め,戻る
4 : オーバーシュート
tcritなしに通常の計算を行う5 :
tcritを指定せずに,1ステップ進め,戻る
判定時間
tcritは上記のようにitaskが 4または5の場合のみ使用されます.h0最初に試すステップhmaxステップの最大値hminステップの最小値jactypeやヤコビアンのプロパティを以下のように設定します:0: 関数反復, ヤコビアンを用いない (
"adams"または"stiff"のみ)1 : ユーザ提供の完全なヤコビアン
2 : 内部的に生成した対角ヤコビアン
3: 内部的に生成した対角ヤコビアン (
"adams"または"stiff"のみ)4 : ユーザが提供したバンド行列のヤコビアン ( 以下の
mlおよびmu参照)5 : 内部生成されたバンド行列のヤコビアン (以下の
mlおよびmu参照)
maxordnは非スティッフの最大次数で, 最大 12です.maxordsはスティッフの最大次数で, 最大5です.ixprは出力レベルで, 0 または 1です.ml,mu
例
以下の例では, 常微分方程式
dy/dt=y^2-y sin(t)+cos(t) を,
初期条件 y(0)=0で解きます.
解は各メッシュ点で保存します.
function ydot=f(t, y) ydot = y^2 - y*sin(t) + cos(t) endfunction %ODEOPTIONS = [2,0,0,%inf,0,2,500,12,5,0,-1,-1]; y = ode(0, 0, %pi, f); plot(y(1,:), y(2,:)) clear %ODEOPTIONS

参照
- ode — 常微分方程式ソルバ
| Report an issue | ||
| << odedc | 微分方程式 | Elementary Functions >> |
