Sie sind auf Seite 1von 7

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
= f ( x, y ), y (0) = y 0
dy
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
+ 2 y = 1.3e − x , y (0) = 5
dy
dx
is rewritten as
= 1.3e − x − 2 y, y (0) = 5
dy
dx
In this case
f ( x, y ) = 1.3e − x − 2 y
Another example is given as follows

Example 2
+ x 2 y 2 = 2 Sin(3x ), y (0) = 5
dy
ey
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
1 d2y 1 d3y
dy
( ) ( ) (xi +1 − xi )
3
yi +1 = yi + − + − +
2
xi , y i xi +1 xi 2 xi , yi
xi +1 xi 3 xi , y i
dx 2! dx 3! dx
4
(2)
x , y ( xi +1 − xi )
1d y
+
4

4! dx 4 i i
= f ( x, y ) and xi +1 − xi = h
dy
Knowing that
dx
yi +1 = yi + f ( xi , yi )h + f ' ( xi , yi )h 2 + f '' ( xi , yi )h3 + f ''' (xi , yi )h 4
1 1 1
(3)
2! 3! 4!
Based on equating Equation (2) and Equation (3), one of the popular solutions used is
yi +1 = yi + (k1 + 2k2 + 2k3 + k4 )h
1
(4)
6
k1 = f ( xi , yi ) (5a)
⎛ 1 1 ⎞
k2 = f ⎜ xi + h, yi + k1h ⎟ (5b)
⎝ 2 2 ⎠
⎛ 1 1 ⎞
k3 = f ⎜ xi + h, yi + k2 h ⎟ (5c)
⎝ 2 2 ⎠
k4 = f (xi + h, yi + k3h ) (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

dt
( )
= −2.2067 × 10 −12 θ 4 − 81 × 10 8 ,θ (0) = 1200 K
Find the temperature at t = 480 seconds using Runge-Kutta 4th order method.
Assume a step size of h = 240 seconds.
Solution

dt
(
= −2.2067 × 10−12 θ 4 − 81 × 108 )
(
f (t ,θ ) = −2.2067 × 10−12 θ 4 − 81 × 108 )
θ i +1 = θ i + (k1 + 2k 2 + 2k 3 + k 4 )h
1
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 ⎠
⎛ ⎞
= f ⎜ 0 + (240),1200 + (− 4.5579)240 ⎟
1 1
⎝ 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 ⎠
⎛ ⎞
= f ⎜ 0 + (240),1200 + (− 0.38347 )240 ⎟
1 1
⎝ 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 ⎠
⎛ ⎞
= f ⎜ 0 + 240,1200 + (− 3.894)240 ⎟
1 1
⎝ 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
= 1200 + (− 4.5579 + 2(− 0.38347 ) + 2(− 3.8954) + (0.069750))240
1
6
= 1200 + − 2.1848) 240
(
= 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 ⎠
⎛ ⎞
= f ⎜ 240 + (240),675.65 + (− 0.44199)240 ⎟
1 1
⎝ 2 2 ⎠
(
= f 360,622.61 )
( )
= −2.2067 × 10−12 622.614 − 81 × 108
= −0.31372
⎛ 1 1 ⎞
k3 = f ⎜ t1 + h, θ1 + k2 h ⎟
⎝ 2 2 ⎠
⎛ ⎞
= f ⎜ 240 + (240),675.65 + (− 0.31372)240 ⎟
1 1
⎝ 2 2 ⎠
(
= f 360,638.00 )
( )
= −2.2067 × 10−12 638.004 − 81 × 108
= −0.34775
⎛ 1 ⎞
k 4 = f ⎜ t1 + h,θ 1 + k 3 h ⎟
⎝ 2 ⎠
⎛ ⎞
= f ⎜ 240 + 240,675.65 + (− 0.34775)240 ⎟
1
⎝ 2 ⎠
(
= f 360,592.19 )
= 2.2067 × 10−12 (592.194 − 81 × 108 )
= −0.25351
1
θ 2 = θ1 + (k1 + 2k 2 + 2k 3 + k 4 )h
6
= 675.65 + (− 0.44199 + 2(− 0.31372) + 2(− 0.34775) + (− 0.25351))240
1
6
= 675.65 + (− 2.0184) 240
1
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–

Temperature, θ(K) 1600

1200

h=120
800 Exact
h=240
400

h=480
0
0 200 400 600
-400
Time,t(sec)

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 ) Et |εt | %


480 -90.278 737.85 113.94
240 594.91 52.660 8.1319
120 646.16 1.4122 0.21807
60 647.54 0.033626 0.0051926
30 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 100 200 300 400 500
-200
Step size, h

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
4th order
1000

800
Exact
600
Heun
400

200 Euler

0
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
as Simpson’s rd rule, if f ( x, y ) is only a function of x . There are other versions of
1
3
the fourth order method just like there are several versions of the second order
methods. Formula developed by Kutta is
yi +1 = yi + (k1 + 3k 2 + 3k 3 + k 4 )h
1
(6)
8
where
k1 = f ( xi , yi ) (7a)
⎛ 1 1 ⎞
k 2 = f ⎜ xi + h, yi + hk1 ⎟ (7b)
⎝ 3 3 ⎠
⎛ 2 1 ⎞
k 3 = f ⎜ xi + h, yi − hk1 + hk 2 ⎟ (7c)
⎝ 3 3 ⎠
k 4 = f ( xi + h, yi + hk1 − hk 2 + hk 3 ) (7d)

th rule, if f ( x, y ) is only a function of


3
This formula is the same as the Simpson’s
8
x.

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

Das könnte Ihnen auch gefallen