次回に、イマイチ導出が謎な『ルンゲ=クッタ (Runge-Kutta)法』*1を導いてみます。 今回はそれを行うのに必要な準備として、高次テイラー法を簡単に導出します*2。
目次
微分方程式
問題設定はオイラー法を導出したときと同じです:次の微分方程式を解け:
は 級の関数としましょう。 初期条件はここでは省略(ホントは大切ですけど)。 この微分方程式をシミュレーションで解く際に必要なのは、 を用いて の組から を計算することです。 は
で与えられるので、メインとなるのは から を計算することになります。 今回導く高次テイラー法や次回から導くルンゲ=クッタ法は、この を計算するアルゴリズムが異なるだけです( の表式は同じ)。
高次 Taylor 法
問題の微分方程式の解が
であるとします。 このとき
となります。 ここで、 を の周りでテイラー展開すると
さらに問題の微分方程式 より
なので、結局次式を得ます:
ここで幾つか注意を。 まず
は を で 回微分した後、 を代入するという意味です。 また、
は偏微分ではなく全微分です。 つまり、 の引数だけでなく、 を通した への依存性に関しても微分を行います:
ちなみに、高次テイラー法で の2次以上を切り捨てると オイラー法 (Euler method)になります。
- 作者: 奥村晴彦,杉浦方紀,津留和生,首藤一幸,土村展之
- 出版社/メーカー: 技術評論社
- 発売日: 2003/05
- メディア: 単行本
- 購入: 2人 クリック: 61回
- この商品を含むブログ (60件) を見る
- 作者: ハーベイゴールド,ジャントボチニク,Harvey Gould,Jan Tobochnik,鈴木増雄,石川正勝,溜渕継博,宮島佐介
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/12
- メディア: 単行本
- 購入: 1人 クリック: 28回
- この商品を含むブログ (45件) を見る
*1:『ルンゲークッタ 法』とは常微分方程式をシミュレーションで解く際に使う技法。
*2:『Javaによるアルゴリズム事典』とこちらのサイトを参考にしました。