06/02/10 02:47:02
>>152 4次ルンゲ食った
PROGRAM oppai4
PARAMETER (h = 0.2, a = 1.0, b = -1.0, c = -1.0, d = 1.0)
t = 0.0
x = 3.0
y = 1.0
hh = h / 2.0
DO 10 i = 1, 2000
t = i * h
dx1 = (a + b * (y ) ) * (x ) * hh
dy1 = (c + d * (x ) ) * (y ) * hh
dx2 = (a + b * (y + dy1) ) * (x + dx1) * hh
dy2 = (c + d * (x + dx1) ) * (y + dy1) * hh
dx3 = (a + b * (y + dy2) ) * (x + dx2) * hh
dy3 = (c + d * (x + dx2) ) * (y + dy2) * hh
dx4 = (a + b * (y + dy3) ) * (x + dx3) * hh
dy4 = (c + d * (x + dx3) ) * (y + dy3) * hh
x = MAX(0.0, x + dx1 / 6.0 + dx2 / 3.0 + dx3 / 3.0 + dx4 / 6.0)
y = MAX(0.0, y + dy1 / 6.0 + dy2 / 3.0 + dy3 / 3.0 + dy4 / 6.0)
WRITE(9, *) x, y, t, i
10 CONTINUE
END
>>153 インデント
振動しつつ、x、yとも1に収束してゆく。 t=350 くらいでほぼ収束か。