微分方程式の数値解法
一体型の数値微分方程式ソルバである関数NDSolveが完全に書き換えられました.パフォーマンスが顕著に向上し,新しいクラスの方程式も解くことができるようになりました.また,解を最適化するための方法は,広範に渡るメソッドの中から自動的に選ばれます.上級ユーザには,ソルバの進行状況を監視するための新機能による高度な制御の他,評価およびメソッド選択での数多くのオプション,ユーザ自身のカスタムソルバをNDSolveに実装する方法までも提供します.
最も重要な改良点として,以下のようなものがあります.
- より効率的な実装による,多くの種類の微分方程式の大幅なスピードアップ
- NDSolveで一部の微分代数方程式を解くことが可能に
- 陽的ルンゲクッタ法,任意次数の陰的ルンゲクッタ法,外挿法を含む新たな解法
- NDSolveで(n+1) 次元の偏微分方程式を解くことが可能に
- NDSolveがべクトル変数および配列変数をサポート
- 新オプションのEvaluationMonitorおよびStepMonitorにより,解の進行状況の監視および解法の絞込みが可能に
- ユーザ定義の方法を含むための新しいフレームワーク
- NDSolveの適用,メソッド,オプションを含むアドバンスドキュメントの追加
NDSolveは問題のタイプによって,自動的に最適のメソッドを選択します.また,方程式が硬い系から硬くない系に(あるいはその逆に)変わった場合等,評価過程でも必要に応じてメソッド変更します.
例:偏微分方程式を解く
以下のアニメーションは,Korteweg-de Vries方程式を解くための新しいアルゴリズムである線の方法による数値解法を適用し,孤立波の相互作用が非線形であることを示したものです.この例では,擬スペクトル離散化メソッドを使用することで,卓越した空間分解能が得られています.
例:行列微分方程式を解く
ここでは,行列微分方程式を を初期条件 で解きます.ベクトルおよび配列変数がサポートされるようになったため,NDSolveに直接入力することができます.この方程式は線形なので,返される解は. 基本解行列の数値近似です.もちろん,NDSolveはベクトルや行列変数を持つ非線形方程式も扱うことができます.
例:微分代数方程式を解く
以下のプロットは,反応装置の中の化学物質の濃度が,反応過程でどのように変化するかを示したものです.NDSolveが自動的に方程式のタイプとメソッドを選び,1ステップで化学反応をモデル化する微分代数方程式を解きます.
|