odeToVectorField
微分方程式の次元を 1 次に簡約する
説明
は、高階数微分方程式 V = odeToVectorField(eqn1,...,eqnN)eqn1,...,eqnN を連立 1 階微分方程式に変換し、シンボリック ベクトルとして返します。
[ は V,S] = odeToVectorField(eqn1,...,eqnN)eqn1,...,eqnN を変換して 2 つのシンボリック ベクトルを返します。1 番目のベクトル V は前の構文の出力と同じになります。2 番目のベクトル S は、V を得る際に行われた代入を示します。
例
入力引数
出力引数
ヒント
結果の連立 1 階微分方程式を解くには、
Vを入力matlabFunctionで使用して関数ハンドル MATLAB® を生成します。次に、作成した MATLAB 関数ハンドルを MATLAB 数値ソルバーode23またはode45の入力として使用します。odeToVectorFieldは準線形微分方程式のみ変換できます。つまり、次数の最も高い導関数は線形である必要があります。たとえば、y*y″(t) = –t2 は y″(t) = –t2/y と書き換えられるため、odeToVectorFieldで変換できます。しかし、y″(t)2 = –t2 や sin(y″(t)) = –t2 は変換できません。
アルゴリズム
n 階微分方程式
を連立 1 階微分方程式に変換します。odetovectorfield がこの代入を行います。
新しい変数を使用して、方程式を連立 n 階微分方程式として書き換えます。
odeToVectorField は、これらの方程式の右辺をベクトル V の要素として、行われた代入を 2 番目の出力 S として返します。
バージョン履歴
R2012a で導入参考
dsolve | matlabFunction | odeFunction | ode23 | ode45
