Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
4/13/2010 http://numericalmethods.eng.usf.edu 1
Runge-Kutta 2nd Order Method
http://numericalmethods.eng.usf.edu
Heun’s Method
Heun’s method
y
Slope = f ( xi + h, yi + k1h )
Here a2=1/2 is chosen
1 yi+1, predicted
a1 =
2 Slope = f ( xi , yi )
p1 = 1
1
q11 = 1 Average Slope = [ f (xi + h, yi + k1h ) + f (xi , yi )]
2
yi
resulting in
1 1
yi +1 = yi + k1 + k2 h
2 2 xi xi+1
x
where
Figure 1 Runge-Kutta 2nd order method (Heun’s method)
k1 = f ( x i , y i )
k 2 = f ( x i + h, y i + k 1 h )
3 http://numericalmethods.eng.usf.edu
Runge-Kutta 2nd Order Method
dy
For = f ( x, y ), y (0) = y0
dx
yi +1 = yi + (a1k1 + a2 k 2 )h
where
k1 = f (xi , yi )
k2 = f ( xi + p1h, yi + q11k1h )
4 http://numericalmethods.eng.usf.edu
Midpoint Method
Here a2 = 1 is chosen, giving
a1 = 0
1
p1 =
2
1
q11 =
2
resulting in
yi +1 = yi + k2h
where
k1 = f (xi , yi )
1 1
k 2 = f x i + h , y i + k1 h
2 2
5 http://numericalmethods.eng.usf.edu
Ralston’s Method
Here a 2 = 2 is chosen, giving
3
1
a1 =
3
3
p1 =
4
3
q11 =
4
resulting in
1 2
yi +1 = yi + k1 + k 2 h
3 3
where
k1 = f (xi , yi )
3 3
k 2 = f x i + h , y i + k1 h
4 4
6 http://numericalmethods.eng.usf.edu
How to write Ordinary Differential
Equation
How does one write a first order differential equation in the form of
dy
= f ( x, y )
dx
Example
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
7 http://numericalmethods.eng.usf.edu
Example
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θ
dt
( )
= −2.2067 × 10 −12 θ 4 − 81 × 10 8 , θ(0 ) = 1200 K
Find the temperature at t = 480 seconds using Heun’s method. Assume a step size of
h = 240 seconds.
dθ
dt
(
= −2.2067 × 10 −12 θ 4 − 81× 10 8 )
(
f (t , θ) = −2.2067 × 10 −12 θ 4 − 81× 10 8 )
1 1
θ i +1 = θ i + k1 + k 2 h
2 2
8 http://numericalmethods.eng.usf.edu
Solution
Step 1: i = 0, t0 = 0, θ 0 = θ (0) = 1200 K
1 1
θ 2 = θ1 + k1 + k 2 h
2 2
1 1
= 655.16 + (− 0.38869 ) + (− 0.20206 )240
2 2
= 655.16 + (− 0.29538 )240
= 584.27 K
10 http://numericalmethods.eng.usf.edu
Solution Cont
θ − 300
0.92593 ln − 1.8519 tan −1 (0.0033333θ ) = −0.22067 × 10 −3 t − 2.9282
θ + 300
θ (480) = 647.57 K
11 http://numericalmethods.eng.usf.edu
Comparison with exact results
1200
h=120
Temperature, θ(K)
Exact
800
h=240
400
h=480
0
0 100 200 300 400 500
-400
Time, t(sec)
12 http://numericalmethods.eng.usf.edu
Effect of step size
Table 1. Temperature at 480 seconds as a function of step size, h
13 http://numericalmethods.eng.usf.edu
Effects of step size on Heun’s
Method
800
Temperature, θ(480)
600
400
200
0
0 100 200 300 400 500
-200 Step size, h
-400
14 http://numericalmethods.eng.usf.edu
Comparison of Euler and Runge-
Kutta 2nd Order Methods
Table 2. Comparison of Euler and the Runge-Kutta methods
15 http://numericalmethods.eng.usf.edu
Comparison of Euler and Runge-
Kutta 2nd Order Methods
Step size, ∈t %
h
Euler Heun Midpoint Ralston
480 252.54 160.82 86.612 30.544
240 82.964 9.7756 50.851 6.5537
120 15.566 0.58313 6.5823 3.1092
60 5.0352 0.36145 1.1239 0.72299
30 2.2864 0.097625 0.22353 0.15940
1100
Temperature, θ(K)
1000 Midpoint
900 Ralston
800 Heun
700
Analytical
600
Euler
500
0 100 200 300 400 500 600
Time, t (sec)
Figure 4. Comparison of Euler and Runge Kutta 2nd order methods with
exact results.
17 http://numericalmethods.eng.usf.edu
18 http://numericalmethods.eng.usf.edu
http://numericalmethods.eng.usf.edu 19
20 http://numericalmethods.eng.usf.edu
21 http://numericalmethods.eng.usf.edu
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice
tests, worksheets in MATLAB, MATHEMATICA, MathCad
and MAPLE, blogs, related physical problems, please
visit
http://numericalmethods.eng.usf.edu/topics/runge_kutt
a_2nd_method.html
THE END
http://numericalmethods.eng.usf.edu