Professional Documents
Culture Documents
1
Motivation
We seek accurate methods to solve ODEs
that do not require calculating high order
derivatives.
The approach is to use a formula
involving unknown coefficients then
determine these coefficients to match as
many terms of the Taylor series
expansion.
𝑦 = 𝑦 + 𝑎 𝑘 + 𝑎 𝑘 + ⋯ + +𝑎 𝑘
𝑘 = ℎ𝑓 𝑡 , 𝑦
𝑘 = ℎ𝑓 𝑡 + 𝑝 ℎ, 𝑦 + 𝑞
𝑘 = ℎ𝑓 𝑡 + 𝑝 ℎ, 𝑦 + 𝑞 𝑘 + 𝑞 𝑘
⋮
𝑘 = ℎ𝑓 𝑡 + 𝑝 ℎ, 𝑦 + 𝑞( , ) 𝑘 + 𝑞( , ) 𝑘 + ⋯ + 𝑞( , )𝑘
2
Second Order Runge-Kutta Method
K1 h f ( xi , yi )
K 2 h f ( xi h, yi K1 )
yi 1 yi w1K1 w2 K 2
Problem :
Find , , w1 , w2
such that yi 1 is as accurate as possible.
3
Taylor Series in One Variable
The n th order Taylor Series expansion of f(x)
n
h i (i ) h n 1
f ( x h) f ( x) f ( n 1) ( x )
i! ( n 1)!
i 0
Approximation Error
4
Derivation of 2nd Order
Runge-Kutta Methods – 2 of 5
n
i n 1
1 1
h k f ( x, y ) h k f ( x, y)
i! x y ( n 1)! x y
i 0
approximation error
5
Derivation of 2nd Order
Runge-Kutta Methods – 3 of 5
Substituting :
yi 1 yi w1h f ( xi , yi ) w2h f ( xi h, yi K1 )
11
x
ti ti+αh ti+1
6
Derivation of 2nd Order
Runge-Kutta Methods – 4 of 5
f f
f ( xi h, yi K1 ) f ( xi , yi ) h K1 ...
x y
Substituting :
f f
yi 1 yi w1h f ( xi , yi ) w2h f ( xi , yi ) h K1 ...
x y
f f
yi 1 yi ( w1 w2 )h f ( xi , yi ) w2h h K1 ...
x y
f f
yi 1 yi ( w1 w2 )h f ( xi , yi ) w2h 2 w2 h 2 f ( xi , yi ) ...
x y
13
7
2nd Order Runge-Kutta Methods
K1 h f ( xi , yi )
K 2 h f ( xi h, yi K1 )
yi 1 yi w1K1 w2 K 2
Alternative Form
Second Order Runge Kutta
K1 h f ( xi , yi )
K 2 h f ( xi h, y i K1 )
yi 1 yi w1K1 w2 K 2
Alternative Form
k1 f ( xi , yi )
k2 f ( xi h, yi h k1 )
yi 1 yi h w1 k1 w2 k2 16
8
Choosing , , w1 and w2
1
For example, choosing 1, then 1, w1 w2
2
Second Order Runge - Kutta method becomes :
K1 h f ( xi , yi )
K 2 h f ( xi h, yi K1 )
1
yi 1 yi
2
K1 K 2 yi h f ( xi , yi ) f ( xi 1, yi01 )
2
This is Heun ' s Method with a Single Corrector
17
Choosing , , w1 and w2
1 1
Choosing then , w1 0, w2 1
2 2
Second Order Runge - Kutta method becomes :
K1 h f ( xi , yi )
h K
K 2 h f ( xi , yi 1 )
2 2
h K
yi 1 yi K 2 yi h f ( xi , yi 1 )
2 2
This is the Midpoint Method
18
9
2nd Order Runge-Kutta Methods
Alternative Formulas
1 1
w2 , w2 , w1 w2 1
2 2
1 1
Pick any nonzero number : , w2 , w1 1
2 2
K1 h f ( xi , yi )
Runge-Kutta Methods K 2 h f ( xi h, y i K1 )
1 1
w1 w2 1 , w2 , and w2
2 2 yi 1 yi w1K1 w2 K 2
10
Second order Runge-Kutta Method
Example
Solve the following system to find x (1.02) using RK2
x (t ) 1 x 2 t 3 , x (1) 4, h 0.01, 1
STEP 1 :
K1 h f (t0 1, x0 4) 0.01(1 x02 t03 ) 0.18
K 2 h f (t0 h, x0 K1 )
0.01(1 ( x0 0.18)2 (t0 .01)3 ) 0.1662
x (1 0.01) x (1) K1 K 2 / 2
4 (0.18 0.1662) / 2 3.8269
21
STEP 2
2 3
K1 h f (t1 1.01, x1 3.8269) 0.01(1 x1 t1 ) 0.1668
K 2 h f (t1 h, x1 K1 )
0.01(1 ( x1 0.1668)2 (t1 .01)3 ) 0.1546
1
x (1.01 0.01) x (1.01) K1 K 2
2
1
3.8269 (0.1668 0.1546) 3.6662
2
22
11
x (t ) 1 x 2 (t ) t 3 , x (1) 4,
Solution for t [1,2]
Using RK2, 1
CISE301_Topic8L4&5 23
24
12
2nd Order Runge-Kutta RK2
25
Higher-Order Runge-Kutta
26
13
3rd Order Runge-Kutta RK3
Know as RK3
k1 f ( xi , yi )
h 1
k2 f ( xi , yi k1h )
2 2
k3 f ( xi h, yi k1h 2k2h )
h
yi 1 yi k1 4k2 k3
6
Local error is O (h 4 ) and Global error is O ( h 3 )
27
k1 f ( xi , yi )
h 1
k2 f ( xi , yi k1h )
2 2
h 1
k3 f ( xi , yi k2h )
2 2
k4 f ( xi h, yi k3h )
h
yi 1 yi k1 2k2 2k3 k4
6
Local error is O ( h5 ) and global error is O (h 4 )
28
14
Higher-Order Runge-Kutta
k1 f ( xi , yi )
1 1
k2 f ( xi h, yi k1h )
4 4
1 1 1
k3 f ( xi h, yi k1h k2 h )
4 8 8
1 1
k4 f ( xi h, yi k2 h k3h )
2 2
3 3 9
k5 f ( xi h, yi k1h k4h )
4 16 16
3 2 12 12 8
k6 f ( xi h, yi k1h k2h k3h k4h k5h )
7 7 7 7 7
h
yi 1 yi 7k1 32k3 12k4 32k5 7k6
90
29
Example
4th-Order Runge-Kutta Method RK4
dy
1 y x2
dx
y ( 0 ) 0 .5
h 0.2
Use RK 4 to compute y (0.2) and y (0.4)
30
15
Example: RK4
Problem :
dy
1 y x2 , y (0) 0.5
dx
Use RK 4 to find y (0.2), y (0.4)
31
k1 f ( xi , yi )
h 1
k2 f ( xi , yi k1h )
2 2
h 1
k3 f ( xi , yi k2h )
2 2
k4 f ( xi h, yi k3h )
h
yi 1 yi k1 2k2 2k3 k4
6
Local error is O ( h5 ) and global error is O (h 4 )
32
16
Example: RK4 See RK4 Formula
Problem : h 0.2
dy
1 y x2 , y (0) 0.5 f ( x, y ) 1 y x 2
dx
x0 0, y0 0.5
Use RK 4 to find y (0.2), y (0.4)
k1 f ( x0 , y0 ) (1 y0 x0 2 ) 1.5
1 1
k2 f ( x0 h, y0 k1h ) 1 y0 0.15 x0 0.1 1.64
2
2 2
Step 1
1 1
k3 f ( x0 h, y0 k2h ) 1 y0 0.164 x0 0.12 1.654
2 2
k4 f ( x0 h, y0 k3h) 1 y0 0.16545 x0 0.2 2 1.7908
h
y1 y0 k1 2k2 2k3 k4 0.8293
6
33
Example: RK4
Problem :
h 0.2
dy
1 y x2 , y (0) 0.5 f ( x, y ) 1 y x 2
dx
x1 0.2, y1 0.8293
Use RK 4 to find y (0.2), y (0.4)
k1 f ( x1, y1 ) 1.7893
1 1
k2 f ( x1 h, y1 k1h ) 1.9182
2 2
Step 2
1 1
k3 f ( x1 h, y1 k2 h ) 1.9311
2 2
k4 f ( x1 h, y1 k3h ) 2.0555
0.2
y2 y1 k1 2k2 2k3 k4 1.2141
6
34
17
Example: RK4
Problem :
dy
1 y x2 , y (0) 0.5
dx
Use RK 4 to find y (0.2), y (0.4)
Summary
Runge Kutta methods generate an
accurate solution without the need to
calculate high order derivatives.
Second order RK have local truncation
error of order O(h3) and global truncation
error of order O(h2).
Higher order RK have better local and
global truncation errors.
N function evaluations are needed in the
Nth order RK method.
36
18