ode_root
求解付きの常微分方程式ソルバ
呼び出し手順
[y, rd, w, iw] = ode("root", y0, t0, t [,rtol [,atol]], f [,jac], ng, g [,w,iw])
引数
- y0
- 実数ベクトルまたは行列 (初期条件). 
- t0
- 実数スカラー (初期時間). 
- t
- 実数ベクトル (解を計算する時間). 
- f
- 外部ルーチン,すなわち,関数または文字列またはリスト. 
- rtol, atol
- 実数定数または - yと同じ大きさの実数ベクトル.
- jac
- 外部ルーチン,すなわち,関数または文字列またはリスト. 
- ng
- 整数. 
- g
- 外部ルーチン,すなわち,関数または文字列またはリスト. 
- y
- 実数のベクトルまたは行列. 
- rd
- 実数ベクトル. 
- w, iw
- 実数ベクトル.(入力/出力). See ode() optional output 
説明
この構文により (最初の引数が"root")
            ode は, 状態量y(t)が
            面g(t,y)=0と交差するまで
            微分方程式dy/dt=f(t,y)
            の解を計算します.
g に面の方程式を指定します.
            これは指定した構文を有する外部関数,または
            指定したコール手順を有する
            FortranサブルーチンまたはC関数(文字列)またはリストです.
g が関数の場合,その構文は以下のようにする
            必要があります:
z = g(t,y)
ただし, t はスカラー実数 (時間),
            y は実数ベクトル (状態量). この関数は,
            ng個の拘束条件に対応する
            大きさngのベクトルを返します.
            g が文字列の場合,
            この文字列は, FortranサブルーチンまたはC関数を指しており,
            以下のようなコール手順となります: g(n,t,y,ng,gout).
            ただし, ngは拘束条件の数,
            goutはgの値
            (プログラムの出力)です.
            g は,
            f と同じ表記のリストです.
            (odeのヘルプ参照).
出力 rd は 1 x k ベクトルです.
            最初のエントリは,停止時間を含んでいます.
            他のエントリは,gのどの要素の符号が変わったのかを
            示すエントリです.
            kが2より大きい場合,1以上の面
            ((k-1) 個の面)が同時に符号が変わったことを意味します.
他の引数と他のオプションは,
            odeと同じです.odeのヘルプを参照ください.
例
参照
- ode — 常微分方程式ソルバ
- ode_optional_output — ode ソルバのオプション出力の説明
- ode_discrete — 常微分方程式ソルバ, 離散時間シミュレーション
- dasrt — ゼロ交差するDAE
- daskr — ゼロ交差を有するDAEソルバー
| Report an issue | ||
| << ode_optional_output | Differential Equations, Integration | odedc >> |