差分化
オイラー法
修正オイラー法
ルンゲ-クッタ法(4次のルンゲ-クッタ法)
など有名な方法がある。
オイラー法は、計算精度が悪い場合があり学習目的以外にはあまり
使われない方法。4次のルンゲ-クッタ法は、計算精度が高い方法である。
しかしながら、計算手続きが多く高速な計算を要求される場合はあまり
使われない。その他に、粒子系のシミュレーションでは、
ベルレ法が良く使われる。
オイラー法
1階常微分方程式
![]() |
![]() |
![]() |
(28) |
![]() |
![]() |
![]() |
(30) |
![]() |
![]() |
![]() |
(31) |
オイラー法では、被積分関数
中の
を
に近似して積分を実行する。
被積分関数で計算できる値を使う必要があるので
で近似する。
![]() |
![]() |
![]() |
(32) |
![]() |
![]() |
![]() |
(33) |
式(34)は、テーラー展開の1次まで正しい。テーラー展開を1次まで
あらわに書くと
修正オイラー法
修正オイラー法では、差分化による誤差を
の2次の精度まで
正しいものを作りたいとする。関数
のテーラー展開の2次では、
![]() |
![]() |
![]() |
(37) |
![]() |
![]() |
(38) | |
![]() |
![]() |
(39) |
そこで、微分ではなく、
が異なった値での
の値を用いて、書くことが
できるとする。つまり
![]() |
![]() |
![]() |
(42) |
![]() |
![]() |
![]() |
(43) |
![]() |
![]() |
![]() |
(44) |
![]() |
![]() |
![]() |
(45) |
![]() |
![]() |
![]() |
(46) |
4次のルンゲ-クッタ(Runge-Kutta)法
ルンゲ-クッタ法と呼んだ場合、通常4次のルンゲ-クッタ法を指すことが多い。
4次のテーラー展開まで正しくなるように、係数を決めるので計算誤差は、
である。結果だけを示す。
問:ルンゲ-クッタ法で関数
が
に依存しないとすると、シンプソンの
積分公式を得ることを示せ。(シンプソンの積分公式は、1年次の講義「計算科学」
の配布物を参照)
運動方程式(2階の常微分方程式)
運動方程式は、2階の微分方程式で、次ぎのように1階ずつに分ける。
ベルレ法
次のようにベルレ法の漸化式を導出する。
位置座標
および
をテーラー展開する。
![]() |
![]() |
![]() |
(70) |
![]() |
![]() |
![]() |
(71) |
速度ベルレ法
![]() |
![]() |
![]() |
(76) |
![]() |
![]() |
![]() |
(77) |
問:速度ベルレ法を導出せよ。
問:全エネルギー(運動エネルギー+ポテンシャルエネルギー)の誤差を、
ベルレ法および速度ベルレ法について評価せよ。