90 likes | 162 Views
数値計算及び実習. 第 12 回 応用プログラミング (4). 応用プログラミング (4). 1. 微分方程式 ( 初期値問題 ) ・オイラー法 ・ルンゲ クッタ法. 常微分方程式の初期値問題. 常微分方程式の初期条件を満たす特殊解を 求める問題 これは以下の式として表すことができる。. y. y. 刻み h. x. x. 分点. 数値解法. ・数値解法では、 x 0 ,x 1 ,x 2 … といった離散的な x の値に対して y の値 (y 0 ,y 1 ,…) を計算することになる。
E N D
数値計算及び実習 第12回 応用プログラミング(4)
応用プログラミング(4) 1. 微分方程式(初期値問題) ・オイラー法 ・ルンゲ クッタ法
常微分方程式の初期値問題 常微分方程式の初期条件を満たす特殊解を 求める問題 これは以下の式として表すことができる。
y y 刻みh x x 分点 数値解法 ・数値解法では、x0,x1,x2…といった離散的なxの値に対して yの値(y0,y1,…)を計算することになる。 ・xi(n=0,1,2…)を分点、その間隔を刻み(h)という。
数値解法の種類 • 一段階法: • 多段階法: • 予測子・修正子法: 多段階法を、繰り返し手続きを用いて計算する方法 φ(xi,yi):増分関数 ※今回は一段解法について説明
テイラー展開 刻みhが十分に小さいものとして、yi+1=y(xi+h)をx=xi まわりでテイラー展開すると、以下のようになる。
y(x) (xi+2,yi+2) (xi+1,yi+1) hf(xi,yi) (xi,yi) x xi xi+1 xi+2 オイラー法 ・テイラー展開した式の第二項 以下を無視 ・増分関数φ(x,y)をf(x,y)と したもの ・ (xi,yi)における傾きf(xi,yi)と刻みhから増分を計算し、 (xi+1,yi+1)を得る(以下、これを繰り返す)。 ・折れ線で、f(x)を近似
ルンゲクッタ法 ・4次のルンゲクッタ法 ・テイラー展開のh4までの項が等しくなるように 作られている
y(x) (xi+1,yi+1) D k4 k3 C k2 (xi,yi) k1 B A h/2 h/2 x xi xi+1/2 xi+1 ルンゲクッタ法(続き) 1) A点における傾きから k1を計算 2) B点(xi+h/2,yi+k1/2)におけ る傾きからk2を計算 3) C点(xi+h/2,yi+k2/2)におけ る傾きからk3を計算 4) C点(xi+h,yi+k3)における 傾きからk4を計算 5) k1 ~k4の重み付き平均を 増分として、これをyiに加える ことによりyi+1を求める