Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
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参照)
 
- 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で解きます.
            解は各メッシュ点で保存します.
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 | Differential Equations, Integration | Elementary Functions >> |