Transcript PowerPoint

常微分方程式の解法(1)
𝑑𝑦
= 2𝑥𝑦
𝑑𝑥
𝑦 𝑥 = 𝑦0 exp 𝑥 2
𝑑𝑦
常微分方程式:
= 𝑓 𝑥, 𝑦
𝑑𝑥
ある初期値 𝑥0 , 𝑦0 が与えられたとき、ある 𝑥 の値に対する 𝑦 𝑥 の値を求める
微分方程式の数値解をコンピュータにより求める
常微分方程式の解法(2)
𝑑𝑦
𝑦 𝑥 + ∆𝑥 − 𝑦(𝑥)
微分の定義:
= lim
𝑑𝑥 ∆𝑥→0
∆𝑥
𝑦 𝑥 + ∆𝑥 − 𝑦(𝑥)
≅
∆𝑥
∆𝑥 が十分小さい場合
𝑦 𝑥 + ∆𝑥 − 𝑦(𝑥)
𝑑𝑦
常微分方程式:
= 𝑓 𝑥, 𝑦 ≅
∆𝑥
𝑑𝑥
𝑦 𝑥 + ∆𝑥 = 𝑦 𝑥 + 𝑓 𝑥, 𝑦 ∆𝑥
(一次のTaylor展開)
ある 𝑥 におけるの 𝑦 値から 𝑥 + ∆𝑥 における 𝑦 の値の近似値を求める
常微分方程式の解法(3)
オイラー法
𝑑𝑦
常微分方程式:
= 𝑓 𝑥, 𝑦
𝑑𝑥
1.初期値 𝑥0 , 𝑦0 が与えられたとき、ある 𝑥 の値に対する 𝑓 𝑥0 , 𝑦0 の値を求める
2. 𝑥 の微小増分をℎとし、 𝑦1 = 𝑦0 + ℎ ∙ 𝑓 𝑥0 , 𝑦0 として𝑥 = 𝑥0 + ℎでの𝑦の値を求める
3. 𝑓 𝑥1 , 𝑦1 を計算し、 𝑦2 = 𝑦1 + ℎ ∙ 𝑓 𝑥1 , 𝑦1 として𝑥 = 𝑥1 + ℎでの𝑦の値を求める
4. 求める𝑥の値まで上記の計算を繰り返す
簡便だが精度が悪い
常微分方程式の解法(4)
二次のルンゲクッタ法
𝑑𝑦
常微分方程式:
= 𝑓 𝑥, 𝑦
𝑑𝑥
ℎ2 𝑑
𝑦 𝑥 + ℎ = 𝑦 𝑥 + ℎ ∙ 𝑓 𝑥, 𝑦 +
𝑓 𝑥, 𝑦
2 𝑑𝑥
𝑑
𝑓
𝑑𝑥
(二次のTaylor展開)
𝑥, 𝑦 を𝑓 𝑥, 𝑦 の線形結合で書き換える
ℎ
𝑦 𝑥 + ℎ = 𝑦 𝑥 + ∙ 𝑓 𝑥, 𝑦 + 𝑓 𝑥 + ℎ, 𝑦 + 𝑘
2
ここで、𝑘 = ℎ ∙ 𝑓 𝑥, 𝑦
二次のTaylor展開と同等の精度(ℎ2 )をもつ
常微分方程式の解法(5)
𝑑𝑦
常微分方程式:
= 𝑓 𝑥, 𝑦
𝑑𝑥
二次のルンゲクッタ法
1.初期値 𝑥0 , 𝑦0 が与えられたとき、ある 𝑥 の値に対する 𝑓 𝑥0 , 𝑦0 の値を求める
2. 𝑥 の微小増分をℎとし、 𝑘 = ℎ ∙ 𝑓 𝑥0 , 𝑦0 を求める
ℎ
3. 𝑓 𝑥0 + ℎ, 𝑦0 + 𝑘 を計算し、 𝑦1 = 𝑦0 + 2 ∙ 𝑓 𝑥0 , 𝑦0 + 𝑓 𝑥0 + ℎ, 𝑦0 + 𝑘
として𝑥1 = 𝑥0 + ℎでの𝑦の値を求める
4. 求める𝑥の値まで上記の計算を繰り返す
オイラー法より精度良い
常微分方程式の解法(6)
惑星運動(ケプラー問題)の計算例
オイラー法(緑線)
誤差大のため、真の解(赤線)から
どんどんはずれていく
ルンゲクッタ法(緑線)
常微分方程式の解法(7)
四次のルンゲクッタ法
𝑦𝑛+1
𝑑𝑦
常微分方程式:
= 𝑓 𝑥, 𝑦
𝑑𝑥
1
= 𝑦𝑛 + 𝑘1 + 2𝑘1 + 2𝑘1 + 𝑘4
6
𝑘1 = ℎ ∙ 𝑓 𝑥𝑛 , 𝑦𝑛
ℎ
𝑘1
𝑘2 = ℎ ∙ 𝑓 𝑥𝑛 + , 𝑦𝑛 +
2
2
ℎ
𝑘2
𝑘3 = ℎ ∙ 𝑓 𝑥𝑛 + , 𝑦𝑛 +
2
2
𝑘4 = ℎ ∙ 𝑓 𝑥𝑛 + ℎ, 𝑦𝑛 + 𝑘3
四次のTaylor展開と同等の精度(ℎ4 )をもつ