# RUNGE-KUTTA 4TH ORDER METHOD - ORDINARY DIFFERENTIAL EQUATIONS

-1–

Chapter 8-03
Runge-Kutta 4th Order Method for Ordinary Differential Equations
Runge-Kutta 4th order method is a numerical technique to solve ordinary differential equation of the form dy = f ( x, y ), y (0) = y 0 dx So only first order ordinary differential equations can be solved by using Runge-Kutta 4th order method. In other sections, we have discussed how Euler and Runge-Kutta methods are used to solve higher order ordinary differential equations or coupled (simultaneous) differential equations. How does one write a first order differential equation in the above form? Example 1 dy + 2 y = 1.3e − x , y (0) = 5 dx is rewritten as dy = 1.3e − x − 2 y, y (0) = 5 dx In this case f ( x, y ) = 1.3e − x − 2 y Another example is given as follows Example 2 dy ey + x 2 y 2 = 2 Sin(3x ), y (0) = 5 dx is rewritten as dy 2 Sin(3x ) − x 2 y 2 = , y (0) = 5 dx ey In this case 2 Sin(3x ) − x 2 y 2 f ( x, y ) = ey th Runge-Kutta 4 order method is based on the following

W:\mws\gen\08ode\mws_gen_ode_txt_runge4th.doc

RUNGE-KUTTA 4TH ORDER METHOD - ORDINARY DIFFERENTIAL EQUATIONS

-2–

yi +1 = yi + (a1k1 + a2 k2 + a3k3 + a4 k4 )h (1) where knowing the value of y = yi at xi , we can find the value of y=yi+1 at xi +1 , and h = xi +1 − xi

Equation (1) is equated to the first five terms of Taylor series 2 3 3 dy (xi +1 − xi ) + 1 d y xi , yi (xi +1 − xi )2 + 1 d y xi , yi (xi +1 − xi ) yi +1 = yi + xi , y i 2 3 2! dx 3! dx dx (2) 4 1d y 4 + x , y ( xi +1 − xi ) 4! dx 4 i i dy = f ( x, y ) and xi +1 − xi = h Knowing that dx 1 1 1 (3) yi +1 = yi + f ( xi , yi )h + f ' ( xi , yi )h 2 + f '' ( xi , yi )h3 + f ''' (xi , yi )h 4 2! 3! 4! Based on equating Equation (2) and Equation (3), one of the popular solutions used is 1 yi +1 = yi + (k1 + 2k2 + 2k3 + k4 )h (4) 6 k1 = f ( xi , yi ) (5a)
1 1 ⎞ ⎛ k2 = f ⎜ xi + h, yi + k1h ⎟ 2 2 ⎠ ⎝ 1 1 ⎛ ⎞ k3 = f ⎜ xi + h, yi + k2 h ⎟ 2 2 ⎝ ⎠ k4 = f (xi + h, yi + k3h ) (5b)

(5c) (5d)

Example 3 A ball at 1200K is allowed to cool down in air at an ambient temperature of 300K. Assuming heat is lost only due to radiation, the differential equation for the temperature of the ball is given by dθ = −2.2067 × 10 −12 θ 4 − 81 × 10 8 ,θ (0) = 1200 K dt Find the temperature at t = 480 seconds using Runge-Kutta 4th order method. Assume a step size of h = 240 seconds. Solution dθ = −2.2067 × 10−12 θ 4 − 81 × 108 dt f (t ,θ ) = −2.2067 × 10−12 θ 4 − 81 × 108 1 θ i +1 = θ i + (k1 + 2k 2 + 2k 3 + k 4 )h 6 For i = 0 , t 0 = 0 , θ 0 = 1200 K

(

)

(

)

(

)

W:\mws\gen\08ode\mws_gen_ode_txt_runge4th.doc

RUNGE-KUTTA 4TH ORDER METHOD - ORDINARY DIFFERENTIAL EQUATIONS

-3–

k1 = f (t0 ,θ0 ) = f (0,1200 ) = −2.2067 × 10−12 (12004 − 81 × 108 ) = −4.5579 1 1 ⎞ ⎛ k2 = f ⎜ t0 + h, θ0 + k1h ⎟ 2 2 ⎠ ⎝ 1 1 ⎛ ⎞ = f ⎜ 0 + (240),1200 + (− 4.5579)240 ⎟ 2 2 ⎝ ⎠ = f (120,653.05) = −2.2067 × 10−12 653.054 − 81 × 108 = −0.38347 1 1 ⎛ ⎞ k3 = f ⎜ t0 + h, θ0 + k2 h ⎟ 2 2 ⎝ ⎠ 1 1 ⎛ ⎞ = f ⎜ 0 + (240),1200 + (− 0.38347 )240 ⎟ 2 2 ⎝ ⎠ = f (120,1154.0 ) = 2.2067 × 10−12 1154.04 − 81 × 108 = −3.8954 1 1 ⎞ ⎛ k 4 = f ⎜ t 0 + h,θ 0 + k 3 h ⎟ 2 2 ⎝ ⎠ 1 1 ⎛ ⎞ = f ⎜ 0 + 240,1200 + (− 3.894)240 ⎟ 2 2 ⎝ ⎠ = f (120,265.10 ) = 2.2067 × 10−12 265.104 − 81 × 108 = 0.0069750 1 θ1 = θ 0 + (k1 + 2k 2 + 2k 3 + k 4 )h 6 1 = 1200 + (− 4.5579 + 2(− 0.38347 ) + 2(− 3.8954) + (0.069750))240 6 (− 2.1848)240 = 1200 + = 675.65 K θ1 is the approximate temperature at t = t1 = t0 + h = 0 + 240 = 240 θ1 = θ (240 ) ≈ 675.65 K For i = 1, t1 = 240,θ1 = 675.65 K k1 = f (t1 ,θ1 )

(

)

(

)

(

)

W:\mws\gen\08ode\mws_gen_ode_txt_runge4th.doc

RUNGE-KUTTA 4TH ORDER METHOD - ORDINARY DIFFERENTIAL EQUATIONS

-4–

= f (240,675.65)

= −2.2067 × 10−12 675.654 − 81 × 108 = −0.44199 1 1 ⎞ ⎛ k2 = f ⎜ t1 + h, θ1 + k1h ⎟ 2 2 ⎠ ⎝ 1 1 ⎛ ⎞ = f ⎜ 240 + (240),675.65 + (− 0.44199)240 ⎟ 2 2 ⎝ ⎠ (360,622.61) = f = −2.2067 × 10−12 622.614 − 81 × 108 = −0.31372 1 1 ⎛ ⎞ k3 = f ⎜ t1 + h, θ1 + k2 h ⎟ 2 2 ⎝ ⎠ 1 1 ⎛ ⎞ = f ⎜ 240 + (240),675.65 + (− 0.31372)240 ⎟ 2 2 ⎝ ⎠ (360,638.00) = f = −2.2067 × 10−12 638.004 − 81 × 108 = −0.34775 1 ⎞ ⎛ k 4 = f ⎜ t1 + h,θ 1 + k 3 h ⎟ 2 ⎝ ⎠ 1 ⎛ ⎞ = f ⎜ 240 + 240,675.65 + (− 0.34775)240 ⎟ 2 ⎝ ⎠ (360,592.19 ) = f = 2.2067 × 10−12 (592.194 − 81 × 108 ) = −0.25351 1 θ 2 = θ1 + (k1 + 2k 2 + 2k 3 + k 4 )h 6 1 = 675.65 + (− 0.44199 + 2(− 0.31372) + 2(− 0.34775) + (− 0.25351))240 6 1 = 675.65 + (− 2.0184) 240 6 = 594.91K θ 2 is the approximate temperature at t = t2 t2 = t1 + h = 240 + 240 = 480 θ 2 = θ (10 ) ≈ 594.91K Figure 1 compares the exact solution with the numerical solution using Runge-Kutta 4th order method step size of h=240.

(

)

(

)

(

)

W:\mws\gen\08ode\mws_gen_ode_txt_runge4th.doc

RUNGE-KUTTA 4TH ORDER METHOD - ORDINARY DIFFERENTIAL EQUATIONS

-5–

1600 Temperature, θ(K) 1200 h=120 800 400 0 0 -400 Time,t(sec) 200 h=480 400 600 Exact h=240

Figure 1. Comparison of Runge-Kutta 4th order method with exact solution for different step sizes

Table 1 and Figure 2 shows the effect of step size on the value of the calculated temperature at t=480 seconds.
Table 1. Value of temperature at time, t=480s for different step sizes

Step size, h 480 240 120 60 30

Et |εt | % θ (480 ) -90.278 737.85 113.94 594.91 52.660 8.1319 646.16 1.4122 0.21807 647.54 0.033626 0.0051926 647.57 0.00086900 0.00013419

W:\mws\gen\08ode\mws_gen_ode_txt_runge4th.doc

RUNGE-KUTTA 4TH ORDER METHOD - ORDINARY DIFFERENTIAL EQUATIONS

-6–

800 Temperature, θ(480) 600 400 200 0 0 -200 Step size, h 100 200 300 400 500

Figure 2. Effect of step size in Runge-Kutta 4th order method

In Figure 3, we are comparing the exact results with Euler’s method (Runge-Kutta 1st order method), Heun’s method (Runge-Kutta 2nd order method) and Runge-Kutta 4th order method.

1400

Temperature, θ(K)

1200 1000 800 600 400 200 0

4th order Exact Heun Euler

0

100

200

300

400

500

Time, t(sec)

Figure 3. Comparison of Runge-Kutta methods of 1st, 2nd, and 4th order.

W:\mws\gen\08ode\mws_gen_ode_txt_runge4th.doc

RUNGE-KUTTA 4TH ORDER METHOD - ORDINARY DIFFERENTIAL EQUATIONS

-7–

The formula described in this chapter was developed by Runge. This formula is same 1 as Simpson’s rd rule, if f ( x, y ) is only a function of x . There are other versions of 3 the fourth order method just like there are several versions of the second order methods. Formula developed by Kutta is 1 (6) yi +1 = yi + (k1 + 3k 2 + 3k 3 + k 4 )h 8 where k1 = f ( xi , yi ) (7a) 1 1 ⎛ ⎞ k 2 = f ⎜ xi + h, yi + hk1 ⎟ 3 3 ⎝ ⎠ 2 1 ⎛ ⎞ k 3 = f ⎜ xi + h, yi − hk1 + hk 2 ⎟ 3 3 ⎝ ⎠ k 4 = f ( xi + h, yi + hk1 − hk 2 + hk 3 ) This formula is the same as the Simpson’s
x.

(7b) (7c) (7d) 3 th rule, if f ( x, y ) is only a function of 8

W:\mws\gen\08ode\mws_gen_ode_txt_runge4th.doc