CISE301-Topic8L3
CISE301-Topic8L3
Topic 8
Ordinary Differential
Equations (ODEs)
Lecture 28-36
KFUPM
(Term 101)
Section 04
CISE301_Topic8L3 1
Outline of Topic 8
Lesson 1: Introduction to ODEs
Lesson 2: Taylor series methods
Lesson 3: Midpoint and Heun’s
method
Lessons 4-5: Runge-Kutta methods
Lesson 6: Solving systems of ODEs
Lesson 7: Multiple step Methods
Lesson 8-9: Boundary value Problems
CISE301_Topic8L3 2
Lecture 30
Lesson 3: Midpoint and
Heun’s Predictor
Corrector Methods
CISE301_Topic8L3 3
Learning Objectives of
Lesson 3
To be able to solve first order
differential equations using the
Midpoint Method.
To be able to solve first order
differential equations using the
Heun’s Predictor Corrector Method.
CISE301_Topic8L3 4
Topic 8: Lesson 3
Lesson 3: Midpoint and Heun’s
Predictor-Corrector Methods
CISE301_Topic8L3 5
Euler Method
Problem Euler Method
y ( x) f ( x, y ) y0 y ( x0 )
y ( x0 ) y0 yi 1 yi h f ( xi , yi )
for i 1,2,...
2
Local Truncation Error O(h )
Global Truncation Error O(h)
CISE301_Topic8L3 6
Introduction
Problem to be solved is a first order ODE :
y ( x) f ( x, y ), y ( x0 ) y0
The methods proposed in this lesson
have the general form:
yi 1 yi h
For the case of Euler: f ( xi , yi )
Different forms of will be used for
the Midpoint and Heun’s Methods.
CISE301_Topic8L3 7
Midpoint Method
Problem Midpoint Method
y ( x) f ( x, y ) y0 y ( x0 )
h
y ( x0 ) y0 y 1 yi f ( xi , yi )
i
2 2
yi 1 yi h f ( x 1 ,y 1 )
i i
2 2
CISE301_Topic8L3 9
Midpoint Method
( xi , yi )
x0 x 1 xi 1
i
2
h
y 1 yi f ( xi , yi ) , yi 1 yi h f ( x 1 ,y 1 )
i
2 2 i
2
i
2
CISE301_Topic8L3 10
Midpoint Method
slope f ( xi , yi )
( xi , yi )
x0 x 1 xi 1
i
2
h
y 1 yi f ( xi , yi ) , yi 1 yi h f ( x 1 ,y 1 )
i
2 2 i
2
i
2
CISE301_Topic8L3 11
Midpoint Method
(x 1 ,y 1 )
slope f ( xi , yi ) i
2
i
2
( xi , yi )
x0 x 1 xi 1
i
2
h
y 1 yi f ( xi , yi ) , yi 1 yi h f ( x 1 ,y 1 )
i
2 2 i
2
i
2
CISE301_Topic8L3 12
Midpoint Method
slope f ( x 1 ,y 1 )
i i
(x 1 ,y 1 ) 2 2
i i
2 2
( xi , yi )
x0 x 1 xi 1
i
2
h
y 1 yi f ( xi , yi ) , yi 1 yi h f ( x 1 ,y 1 )
i
2 2 i
2
i
2
CISE301_Topic8L3 13
Midpoint Method
slope f ( x 1 ,y 1 )
i i
(x 1 ,y 1 ) 2 2
i i
2 2
( xi , yi )
x0 x 1 xi 1
i
2
h
y 1 yi f ( xi , yi ) , yi 1 yi h f ( x 1 ,y 1 )
i
2 2 i
2
i
2
CISE301_Topic8L3 14
Example 1
CISE301_Topic8L3 15
Example 1
Problem : f ( x, y ) 1 x 2 y , y0 y (0) 1, h 0.1
Step1 :
h
y 1 y0 f ( x0 , y0 ) 1 0.05(1 0 1) 1.1
0
2
2
y1 y0 h f ( x 1, y 1) 1 0.1(1 0.0025 1.1) 1.2103
0 0
2 2
Step 2 :
h
y 1 y1 f ( x1 , y1 ) 1.2103 .05(1 0.01 1.2103) 1.3213
1
2
2
y2 y1 h f ( x 1, y 1) 1.2103 0.1( 2.3438) 1.4446
1 1
2 2
CISE301_Topic8L3 16
Heun’s Predictor
Corrector
CISE301_Topic8L3 17
Heun’s Predictor Corrector
Method
Problem Heun' s Method
y ( x ) f ( x, y ) y0 y ( x0 )
y ( x0 ) y0 Predictor : yi01 yi h f ( xi , yi )
Corrector : yi11 yi
h
2
f ( xi , yi ) f ( xi 1 , yi01 )
CISE301_Topic8L3 18
Heun’s Predictor Corrector
(Prediction)
( xi 1 , yi01 )
( xi , yi )
xi xi 1
0
Prediction yi 1 yi h f ( xi , yi )
CISE301_Topic8L3 19
Heun’s Predictor Corrector
(Prediction)
( xi 1 , yi01 )
slope f ( xi 1 , yi01 )
( xi , yi )
xi xi 1
0
Prediction y i 1 yi h f ( xi , yi )
CISE301_Topic8L3 20
Heun’s Predictor Corrector
(Correction)
f ( xi , yi ) f ( xi 1 , yi01 )
slope
2
( xi 1 , yi01 )
( xi , yi ) ( xi 1 , yi11 )
xi xi 1
h
y 1
i 1 yi
2
f ( xi , yi ) f ( xi 1 , yi01 )
CISE301_Topic8L3 21
Example 2
Use the Heun' s Method to solve the ODE
y ( x) 1 x y
2
y (0) 1
Use h 0.1. One correction only
Determine y(0.1) and y(0.2)
CISE301_Topic8L3 22
Example 2
Problem : f ( x, y ) 1 y x 2 , y0 y ( x0 ) 1, h 0.1
Step1 :
Predictor : y10 y0 h f ( x0 , y0 ) 1 0.1(2) 1.2
h
1
Corrector : y y0
1
2
f ( x0 , y0 ) f ( x1 , y10 ) 1.2105
Step 2 :
Predictor : y20 y1 h f ( x1 , y1 ) 1.4326
h
1
Corrector : y y1
2
2
f ( x1 , y1 ) f ( x2 , y20 ) 1.4452
CISE301_Topic8L3 23
Summary
Euler, Midpoint and Heun’s methods are
similar in the following sense:
yi 1 yi h slope
Different methods use different estimates of
the slope.
Both Midpoint and Heun’s methods are
comparable in accuracy to the second
order Taylor series method.
CISE301_Topic8L3 24
Comparison
Local Global
Method truncation truncation
error error
CISE301_Topic8L3 25
More in this Topic
CISE301_Topic8L3 26