(1) 数値積分 (2) 数値微分 (2.1) オイラー法 (2.2) かえるとび法 (2.3) ルンゲ・クッタ法 (2.4) 補足 1 (1) 数値積分 (1.1)1 次元 y = f (x) の積分 ∫b a f (x)dx を近似的に求める公式 n 次の公式は曲線 f (x) を n 次の曲線で近似したものである。例えば,n = 2 であれば,3 点 f0 , f1 , f2 を通る 2 次曲線 y = ax2 + bx + c で y = f (x) を近 似したものである。 次数 公式 精度 n=1 n=2 n=3 h 2 (f0 h3 h4 h5 n=4 S1 = + f1 ) h S2 = 3 (f0 + 4f1 + f2 ) S3 = h8 (3f0 + 9f1 + 9f2 + 3f3 ) S4 = h 45 (14f0 + 64f1 + 24f2 + 64f3 + 14f4 ) 台形公式 シンプソンの公式 h6 ここで h = (b − a)/n, xj = a + nh, (j = 0, 1, 2, · · · , n), fj = f (xj ) である。 2 (2) 数値微分 (2.1) オイラー法(Euler method) 運動方程式 ma(t) = f (t) を dx(t)/dt = v(t)、dv(t)/dt = f (t)/m と変形す る。時刻 t の刻みを ∆t とし、時刻 t + ∆t での x と v の値を x(t + ∆t) = x(t) + v(t)∆t v(t + ∆t) = v(t) + a(t)∆t = v(t) + (f (t)/m)∆t と近似する。 具体的に書くと a(0) = f (0)/m x(∆t) = x(0) + v(0)∆t v(∆t) = v(0) + a(0)∆t a(∆t) = f (Δ t)/m x(2∆t) = x(∆t) + v(∆t)∆t v(2∆t) = v(∆t) + a(∆t)∆t (2.2) かえるとび法(Leapfrog method) 時刻 t + ∆t での x と v の値を求めるのに t + ∆t/2 での値を利用。具体的 に書くと a(0) = f (0)/m v(∆t/2) = v(0) + a(0)∆t/2 x(∆t) = x(0) + v(∆t/2)∆t a(∆t) = f (∆t)/m v(∆t + ∆t/2) = v(∆t/2) + a(∆t)∆t/2 x(2∆t) = x(∆t) + v(∆t + ∆t/2)∆t (2.3) ルンゲ・クッタ法(Runge-kutta method) dv/dt = F (t, v) であるとき、時刻 t1 = t0 + ∆t における v の値 v1 を v1 = v0 + a とする。ここで、a = ∆t(a1 + 2a2 + 2a3 + a4)/6 である。 a1 = F (t0, v0) a2 = F (t0 + ∆t/2, v0 + a1/2) a3 = F (t0 + ∆t/2, v0 + a2/2) a4 = F (t0 + ∆t, v0 + a3) (2.4) 補足(ルンゲ・クッタ法) (2.1)1 次元 d2 x dx dx du = f (x, , t) → = u, = f (x, u, t) dt2 dt dt dt 3 x = (x, u), dx = (u, f ) = f (x, t) dt k1 = f (x1 , t1 ) = (k11 , k12 ) h k 1 , t1 + 2 h k3 = f (x1 + k2 , t1 + 2 k2 = f (x1 + h ) 2 h ) 2 k4 = f (x1 + hk3 , t1 + h) x2 = x1 + h (k1 + 2k2 + 2k3 + k4 ) 6 (2.2)2 次元 d2 x dx dy = f (x, y, , , t) dt2 dt dt d2 y dx dy = g(x, y, , , t) dt2 dt dt x = (x1 , x2 , x3 , x4 ) = (x, y, u, v) = (x, y, dx dy , ) dt dt d x = (u, v, f, g) = f (x, t) dt k1 = f (x1 , t1 ) = (k11 , k12 , k13 , k14 ) h k 1 , t1 + 2 h k3 = f (x1 + k2 , t1 + 2 k2 = f (x1 + h ) 2 h ) 2 k4 = f (x1 + hk3 , t1 + h) x2 = x1 + h (k1 + 2k2 + 2k3 + k4 ) 6 4
© Copyright 2024 ExpyDoc