You are on page 1of 8

RK4 method to solve ODE

dy
Given initial point ( xi , yi ) and ODE: = f ( x, y )
dx

To get next point yi +1 :

h
yi +1 = yi + ( K1 + 2 K 2 + 2 K 3 + K 4 )
6

Or, let Fi = h K i ; i = 1, 2,3, 4 , we can write:

1
yi +1 = yi + ( F1 + 2 F2 + 2 F3 + F4 )
6
Example: System of ODEs

Solution:

(a) Using Euler


dy
= f ( x, y, z ) ; y (0) = 2
dx
dz
= g ( x, y, z ) ; z (0) = 4
dx
y1 = y 0 + h f ( x0, y 0, z 0)
y1 = 2 + h f (0, 2, 4) = 2
z1 = z 0 + h g ( x0, y 0, z 0)
z1 = 4 + h g (0, 2, 4) = 1.86667

x y z
0 2 4
0.2 2 1.86667
0.4 1.85498 1.40207
0.6 1.64925 1.15897
0.8 1.4286 1.01128
1 1.21662 0.913883
1.2 1.02428 0.846143
1.4 0.855521 0.797254
1.6 0.71059 0.761002
1.8 0.587871 0.733567
2 0.484962 0.712477
(b) Using RK4
dy
= f ( x, y, z ) ; y (0) = 2
dx
dz
= g ( x, y, z ) ; z (0) = 4
dx
y1 = y 0 + ( F1 + 2 F 2 + 2 F 3 + F 4) / 6
z1 = z 0 + ( M 1 + 2 M 2 + 2 M 3 + M 4) / 6
where :
F1 = h f ( x0, y 0, z 0) = h f (0, 2, 4) = 0.2*( −2(2) + 4e 0 ) = 0
M 1 = h g ( x0, y 0, z 0) = 0.2(−(2)(4) 2 / 3) = −2.133333
F 2 = h f ( x0 + h / 2, y 0 + F1/ 2, z 0 + M 1/ 2)
M 2 = h g ( x0 + h / 2, y 0 + F1/ 2, z 0 + M 1/ 2)
F 3 = h f ( x0 + h / 2, y 0 + F 2 / 2, z 0 + M 2 / 2)
M 3 = h g ( x0 + h / 2, y 0 + F 2 / 2, z 0 + M 2 / 2)
F 4 = h f ( x0 + h, y 0 + F 3, z 0 + M 3)
M 4 = h g ( x0 + h, y 0 + F 3, z 0 + M 3)
y1 = y 0 + ( F1 + 2 F 2 + 2 F 3 + F 4) / 6 = 1.93421
z1 = z 0 + ( M 1 + 2 M 2 + 2 M 3 + M 4) / 6 = 2.61932

x y z
0 2 4
0.2 1.93421 2.61932
0.4 1.78254 1.97634
0.6 1.59279 1.61651
0.8 1.39348 1.39245
1 1.20083 1.2429
1.2 1.02334 1.13816
1.4 0.864779 1.06221
1.6 0.726082 1.00568
1.8 0.606573 0.962768
2 0.504737 0.929696

You might also like