関数 > 求解と最適化 > ソルブブロック関数 > 常微分方程式のアルゴリズム
常微分方程式のアルゴリズム
ソルブブロック内でodesolveを呼び出すと、PTC Mathcad で次のいずれかの方法によって常微分方程式の解が求められます。
Adams/BDF - Adams-Bashforth 法を使用するAdamsソルバーを呼び出します。常微分連立方程式がスティフであることがodesolveによって検出された場合、後退差分公式 (BDF) 法を使用するBDFソルバーに切り替わります。
Fixed - 固定増分ルンゲ-クッタ法を使用するrkfixedソルバーを呼び出します。
Adaptive - 適応増分ルンゲ-クッタ法を使用するRkadaptソルバーを呼び出します。
Radau - スティフな方程式または代数制約条件がある方程式に Radau アルゴリズムを使用するRadauソルバーを呼び出します。Radau は代数制約条件がある方程式を解く唯一の方法です。
追加情報
AdamsBDFodesolveのデフォルトのソルバーです。
一部の ODE ソルバは任意の引数として tol をとります。ただし、odesolve はこの引数をとりません。ODE ソルバを呼び出すときに tol を指定するには、ODE ソルバを直接使用する必要があります。そうでない場合、ソルブブロック領域の上側で組み込み変数 TOL を定義できます。
odesolve は独立変数の関数として解を返します。この関数を求めるため、odesolve は積分区間内の等間隔に配置された複数の点における解を計算してから、lspline 関数を使用してこれらの点を補間します。点の数は、オプションの引数 intvls+1 またはデフォルト値 1000 によって指定されます。適応法とスティフ法の場合、解の変化が大きい領域ほど、より多くの間隔が追加されます。
odesolve からのスプラインは、独立変数に指定されている範囲に制限されています。この結果、範囲の両端では数値微分を求めることができません。数値微分は、端部だからといって片側微分に切り替わりはしないからです。数値微分は両側微分のままなので、参照値は、両側で微分可能な点でなければなりません。
これは役に立ちましたか?