常微分方程式の解法(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 )をもつ
© Copyright 2024 ExpyDoc