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]
これらの要素の意味を以下に示します.
itask
sets 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
参照)
- 0: 関数反復, ヤコビアンを用いない
(
maxordn
は非スティッフの最大次数で, 最大 12です.maxords
はスティッフの最大次数で, 最大5です.ixpr
は出力レベルで, 0 または 1です.ml
,mu
jactype
が 4 または 5の場合,ml
およびmu
はバンド行列のヤコビアンの 上部および下部の半分のバンド幅です: このバンドは,i-ml
<=j
<=ny-1
となるi,j
で定義されます.jactype
が 4の場合,ヤコビアン関数はml+mu+1 x ny
(ただし,y
のny=dim
,ydot=f(t,y)
)の行列J
を返す必要があります.J
の1列目はmu
個のゼロの後にdf1/dy1
,df2/dy1
,df3/dy1
, ... (1+ml
個のゼロでないエントリ)が続きます. 2列目は,mu-1
個のゼロの後にdf1/dx2
,df2/dx2
, などが続きます.
例
以下の例では, 常微分方程式
dy/dt=y^2-y sin(t)+cos(t)
を,
初期条件 y(0)=0
で解きます.
解は各メッシュ点で保存します.
参照
- ode — 常微分方程式ソルバ
Report an issue | ||
<< odedc | Differential Equations, Integration | Elementary Functions >> |