0% found this document useful (0 votes)
2 views

Error Analysis

The document consists of lecture notes on numerical methods for solving differential equations, specifically focusing on Euler's Method and Improved Euler's Method. It includes an introduction to these methods, a Malthusian growth example, and error analysis related to the methods' performance. The notes also provide MATLAB implementations for Euler's Method, illustrating how to approximate solutions to initial value problems.

Uploaded by

Noor Butt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Error Analysis

The document consists of lecture notes on numerical methods for solving differential equations, specifically focusing on Euler's Method and Improved Euler's Method. It includes an introduction to these methods, a Malthusian growth example, and error analysis related to the methods' performance. The notes also provide MATLAB implementations for Euler's Method, illustrating how to approximate solutions to initial value problems.

Uploaded by

Noor Butt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

Introduction

Euler’s Method
Improved Euler’s Method

Math 337 - Elementary Differential Equations


Lecture Notes – Numerical Methods for Differential
Equations

Joseph M. Mahaffy,
[email protected]

Department of Mathematics and Statistics


Dynamical Systems Group
Computational Sciences Research Center
San Diego State University
San Diego, CA 92182-7720
http://jmahaffy.sdsu.edu

Spring 2022
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (1/39)
Introduction
Euler’s Method
Improved Euler’s Method

Outline

1 Introduction

2 Euler’s Method
Malthusian Growth Example
Euler’s Method - MatLab
Example with f (t, y)
Euler Error Analysis

3 Improved Euler’s Method


Improved Euler’s Method - Algorithm
Example
Improved Euler’s Method Error
Order of Error

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (2/39)
Introduction
Euler’s Method
Improved Euler’s Method

Introduction

Introduction

Most differential equations can not be solved exactly


Use the definition of the derivative to create a difference
equation
Develop numerical methods to solve differential equations
Euler’s Method
Improved Euler’s Method

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (3/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method 1
Initial Value Problem: Consider
dy
= f (t, y) with y(t0 ) = y0
dt

From the definition of the derivative


dy y(t + h) − y(t)
= lim
dt h→0 h
Instead of taking the limit, fix h, so
dy y(t + h) − y(t)

dt h
Substitute into the differential equation and with algebra write
y(t + h) ≈ y(t) + hf (t, y)

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (4/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method 2
Euler’s Method for a fixed h is

y(t + h) = y(t) + hf (t, y)

Geometrically, Euler’s method looks at the slope of the tangent


line
The approximate solution follows the tangent line for a time
step h
Repeat this process at each time step to obtain an
approximation to the solution
The ability of this method to track the solution accurately
depends on the length of the time step, h, and the nature of the
function f (t, y)
This technique is rarely used as it has very bad convergence
properties to the actual solution
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (5/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method 3

Graph of Euler’s Method

Euler’s Method
(t ,y ) (t3,y3) y(t)
2 2
(t ,y ) (t ,y )
(t1,y1) 4 4 n+1 n+1
(tn,yn)

y0
h

t0 t1 t2 t3 t4 tn tn+1

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (6/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method 4
Euler’s Method Formula: Euler’s method is just a discrete
dynamical system for approximating the solution of a continuous
model
Let tn+1 = tn + h
Define yn = y(tn )
The initial condition gives y(t0 ) = y0
Euler’s Method is the discrete dynamical system

yn+1 = yn + h f (tn , yn )

Euler’s Method only needs the initial condition to start and the
right hand side of the differential equation (the slope field),
f (t, y) to obtain the approximate solution

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (7/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Malthusian Growth Example 1

Malthusian Growth Example: Consider the model


dP
= 0.2 P with P (0) = 50
dt
Find the exact solution and approximate the solution with Euler’s
Method for t ∈ [0, 1] with h = 0.1
Solution: The exact solution is

P (t) = 50 e0.2t

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (8/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Malthusian Growth Example 2

Solution (cont): The Formula for Euler’s Method is

Pn+1 = Pn + h 0.2 Pn

The initial condition P (0) = 50 implies that t0 = 0 and P0 = 50


Create a table for the Euler iterates

tn Pn
t0 = 0 P0 = 50
t1 = t0 + h = 0.1 P1 = P0 + 0.1(0.2P0 ) = 50 + 1 = 51
t2 = t1 + h = 0.2 P2 = P1 + 0.1(0.2P1 ) = 51 + 1.02 = 52.02
t3 = t2 + h = 0.3 P3 = P2 + 0.1(0.2P2 ) = 52.02 + 1.0404 = 53.0604

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (9/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Malthusian Growth Example 3


Solution (cont): Iterations are easily continued - Below is table of
the actual solution and the Euler’s method iterates
t Euler Solution Actual Solution
0 50 50
0.1 51 51.01
0.2 52.02 52.041
0.3 53.060 53.092
0.4 54.122 54.164
0.5 55.204 55.259
0.6 56.308 56.375
0.7 57.434 57.514
0.8 58.583 58.676
0.9 59.755 59.861
1.0 60.950 61.070

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (10/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Malthusian Growth Example 4

Graph of Euler’s Method for Malthusian Growth Example


Euler’s Method − P’ = 0.2 P

Euler’s Method
60 Actual Solution

58

56
P(t)

54

52

50
0 0.2 0.4 0.6 0.8 1

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (11/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Malthusian Growth Example 5

Error Analysis and Larger Stepsize


The table and the graph shows that Euler’s method is tracking
the solution fairly well over the interval of the simulation
The error at t = 1 is only -0.2%
However, this is a fairly short period of time and the stepsize is
relatively small
What happens when the stepsize is increased and the interval of
time being considered is larger?

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (12/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Malthusian Growth Example


Graph of Euler’s Method with h = 0.5 and h = 0.25
Euler’s Method - Malthusian Growth
400

350

300

250
P (t)

200

150

100

50
Actual Solution
Euler h = 0.5
Euler h = 0.25
0
0 1 2 3 4 5 6 7 8 9 10
t

There is a -9% error in the numerical solution at t = 10 for h = 0.5,


and a -4.7% error when h = 0.25 Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (13/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method - Algorithm

Algorithm (Euler’s Method)


Consider the initial value problem
dy
= f (t, y), y(t0 ) = y0 .
dt
Let h be a fixed stepsize and define tn = t0 + nh. Also, let y(tn ) = yn .
Euler’s Method for approximating the solution to the IVP satisfies
the difference equation

yn+1 = yn + hf (tn , yn ).

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (14/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method - MatLab


Define a MatLab function for Euler’s method for any function (func)
with stepsize h, t ∈ [t0 , tf ], and y(t0 ) = y0
1 f u n c t i o n [ t , y ] = e u l e r ( func , h , t0 , t f , y0 )
2 % Euler ’ s Method − S t e p s i z e h , time from t 0 t o t f , initial
y i s y0
3
4 % C r e a t e time i n t e r v a l and i n i t i a l i z e y
5 t = [ t0 : h : t f ] ;
6 y ( 1 ) = y0 ;
7
8 % Loop f o r Euler ’ s method
9 f o r i = 1 : l e n g t h ( t )−1
10 y ( i +1) = y ( i ) + h ∗ ( f e v a l ( func , t ( i ) , y ( i ) ) ) ;
11 end
12
13 % C r e a t e column v e c t o r s t and y
14 t = t ’;
15 y = y’;
16
17 end
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (15/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method - Population


dP
Our initial example was dt = 0.2P with P (0) = 50
1 f u n c t i o n z = pop ( t , y )
2 % M a l t h u s i a n growth
3 z = 0.2∗y ;
4 end

Create graph shown above


1 tt = linspace (0 ,10 ,200) ;
2 yy = 50∗ exp ( 0 . 2 ∗ t t ) ; % Actual s o l u t i o n
3 [ t , y ]= e u l e r ( @pop , 0 . 5 , 0 , 1 0 , 5 0 ) ; % Implement E u l e r ’ s method , 0 . 5
4 [ t1 , y1 ]= e u l e r ( @pop , 0 . 2 5 , 0 , 1 0 , 5 0 ) ; % Implement E u l e r ’ s method , 0 . 2 5
5 p l o t ( t t , yy , ’ b− ’ , ’ LineWidth ’ , 1 . 5 ) ; % Actual s o l u t i o n
6 h o l d on % Plots Multiple graphs
7 p l o t ( t , y , ’ r−o ’ , ’ LineWidth ’ , 1 . 5 , ’ M a r k e r S i z e ’ , 7 ) ; % Euler h = 0.5
8 p l o t ( t1 , y1 , ’ k−o ’ , ’ LineWidth ’ , 1 . 5 , ’ M a r k e r S i z e ’ , 7 ) ; % E u l e r h = 0 . 2 5
9 grid % Adds G r i d l i n e s
10 h = l e g e n d ( ’ A c t u a l S o l u t i o n ’ , ’ E u l e r $h = 0 . 5 $ ’ , ’ E u l e r $h = 0 . 2 5 $ ’ , 4 )
;
11 s e t ( h , ’ I n t e r p r e t e r ’ , ’ l a t e x ’ ) % Allow LaTeX i n l e g e n d
12 a x i s ( [ 0 10 0 4 0 0 ] ) ; % D e f i n e s l i m i t s o f graph

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (16/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method with f (t, y) 1


Euler’s Method with f (t, y): Consider the model
dy
=y+t with y(0) = 3
dt
Find the solution to this initial value problem
Rewrite this linear DE and find the integrating factor:
dy
−y =t with µ(t) = e−t
dt
Solving
Z
d −t 
e y = te−t or e−t y(t) = te−t dt = −(t + 1)e−t + C
dt
With the initial condition the solution is
y(t) = 4 et − t − 1
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (17/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method with f (t, y) 2

Solution (cont): Euler’s formula with h = 0.25 is

yn+1 = yn + 0.25(yn + tn )

tn Euler solution yn
t0 = 0 y0 = 3
t1 = 0.25 y1 = y0 + h(y0 + t0 ) = 3 + 0.25(3 + 0) = 3.75
t2 = 0.5 y2 = y1 + h(y1 + t1 ) = 3.75 + 0.25(3.75 + 0.25) = 4.75
t3 = 0.75 y3 = y2 + h(y2 + t2 ) = 4.75 + 0.25(4.75 + 0.5) = 6.0624
t4 = 1 y4 = y3 + h(y3 + t3 ) = 6.0624 + 0.25(6.0624 + 0.75) = 7.7656

Actual solution is y(1) = 8.8731, so the Euler solution has a -12.5%


error
If h = 0.1, after 10 steps y(1) ≈ y10 = 8.3750 with -5.6% error
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (18/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler’s Method with f (t, y) 3

Solution (cont): Euler’s formula with different h is

yn+1 = yn + h(yn + tn )

tn h = 0.2 h = 0.1 h = 0.05 h = 0.025 Actual


0.2 3.6 3.64 3.662 3.6736 3.6856
0.4 4.36 4.4564 4.5098 4.538 4.5673
0.6 5.312 5.4862 5.5834 5.6349 5.6885
0.8 6.4944 6.7744 6.9315 7.015 7.1022
1 7.9533 8.375 8.6132 8.7403 8.8731
2 21.7669 23.91 25.16 25.8383 26.5562
% Err −18.0 −9.96 −5.26 −2.70

We see the percent error at t = 2 (compared to the actual solution)


declining by about 12 as h is halved
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (19/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Euler Error Analysis

Consider the solution of the IVP y 0 = f (t, y), y(t0 ) = y0


denoted φ(t)
Euler’s formula, yn+1 = yn + hf (tn , yn ), approximates
yn ≈ φ(tn )
Expect the error to decrease as h decreases
How small does h have to be to reach a certain tolerance?
Errors
Local truncation error, en , is the amount of error at
each step
Global truncation error, En , is the amount of error
between the algorithm and φ(t)
Round-off error, Rn , is the error due to the fact that
computers hold finite digits

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (20/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Local Truncation Error 1


Assume that φ(t) solves the IVP, so
φ0 (t) = f (t, φ(t))
Use Taylor’s theorem with a remainder, then
φ(tn + h) = φ(tn ) + φ0 (tn )h + 21 φ00 (t̄n )h2 ,
where t̄n ∈ (tn , tn + h)
From φ being a solution of the IVP
φ(tn+1 ) = φ(tn ) + hf (tn , φ(tn )) + 21 φ00 (t̄n )h2 ,
If yn = φ(tn ) is the correct solution, then the Euler approximate
solution at tn+1 is

yn+1 = φ(tn ) + hf (tn , φ(tn )) ,
so the local truncation error satisfies

en+1 = φ(tn+1 ) − yn+1 = 12 φ00 (t̄n )h2
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (21/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Local Truncation Error 2


Since the local truncation error satisfies

en+1 = 21 φ00 (t̄n )h2 ,

then if there is a uniform bound M = maxt∈[a,b] |φ00 (t)|, the local


error is bounded with
M h2
|en | ≤
2
Thus, Euler’s Method is said to have a local truncation error of
order h2 often denoted O(h2 )
This result allows the choice of a stepsize to keep the numerical
solution within a certain tolerance, say ε, or

M h2 p
≤ε or h≤ 2ε/M
2
Often difficult to estimate either |φ00 (t)| or M
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (22/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Global Truncation
Other Errors
The local truncation error satisfies |en | ≤ M h2 /2
This error is most significant for adaptive numerical
routines where code is created to maintain a certain
tolerance
Global Truncation Error
The more important error for the numerical routines is this
error over the entire simulation
Euler’s method can be shown to have a global
truncation error,
|En | ≤ Kh
Note error is one order less than local error, which scales
proportionally with the stepsize or |En | ≤ O(h)
HW problem using Taylor’s series and Math induction to
prove this result
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (23/39)
Malthusian Growth Example
Introduction
Euler’s Method - MatLab
Euler’s Method
Example with f (t, y)
Improved Euler’s Method
Euler Error Analysis

Global Truncation and Round-Off Error


Other Errors - continued
Round-Off Error, Rn
This error results from the finite digits in the computer
All numbers in a computer are truncated
This is beyond the scope of this course
Total Computed Error
The total error combines the machine error and the error of
the algorithm employed
It follows that

|φ(tn ) − Yn | ≤ |En | + |Rn |

The machine error cannot be controlled, but choosing a


higher order method allows improving the global
truncation error
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (24/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Numerical solutions of DEs


Numerical solutions of differential equations
Euler’s Method is simple and intuitive, but lacks accuracy
Numerical methods are available through standard software
MatLab’s ode23
Maple’s dsolve with numeric option
Many types of numerical methods - different accuracies and
stability
Easiest are single stepsize Runge-Kutta methods
Software above uses adaptive stepsize Runge-Kutta
methods
Many other techniques shown in Math 542
Improved Euler’s method (or Heun formula) is a simple
extension of Euler’s method - However, significantly better
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (25/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Improved Euler’s Method - Algorithm


Algorithm (Improved Euler’s Method (or Heun Formula))
Consider the initial value problem
dy
= f (t, y), y(t0 ) = y0 .
dt
Let h be a fixed stepsize. Define tn = t0 + nh and the approximate
solution y(tn ) = yn .
1 Approximate y by Euler’s Method

yen = yn + hf (tn , yn )

2 Improved Euler’s Method is the difference formula


h
yn+1 = yn + (f (tn , yn ) + f (tn + h, yen ))
2
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (26/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Improved Euler’s Method

Improved Euler’s Method Formula: This technique is an easy


extension of Euler’s Method
The Improved Euler’s method uses an average of the Euler’s
method and an Euler’s method approximation to the function
This technique requires two function evaluations, instead of one
Simple two step algorithm for implementation
Can show this converges as O(h2 ), which is significantly better
than Euler’s method

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (27/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Improved Euler’s Method - MatLab


Define a MatLab function for the Improved Euler’s method for any
function (func) with stepsize h, t ∈ [t0 , tf ], and y(t0 ) = y0
1 f u n c t i o n [ t , y ] = i m e u l e r ( func , h , t0 , t f , y0 )
2 % Improved Euler ’ s Method − S t e p s i z e h , time from t 0 t o t f ,
i n i t i a l y i s y0
3 % C r e a t e time i n t e r v a l and i n i t i a l i z e y
4 t = [ t0 : h : t f ] ;
5 y ( 1 ) = y0 ;
6 % Loop f o r Improved Eule r ’ s method
7 f o r i = 1 : l e n g t h ( t )−1
8 ye = y ( i ) + h ∗ ( f e v a l ( func , t ( i ) , y ( i ) ) ) ; % Euler ’ s s t e p
9 y ( i +1) = y ( i ) + ( h / 2 ) ∗ ( f e v a l ( func , t ( i ) , y ( i ) ) + f e v a l (
func , t ( i +1) , ye ) ) ;
10 end
11 % C r e a t e column v e c t o r s t and y
12 t = t ’;
13 y = y’;
14 end

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (28/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Example: Improved Euler’s Method 1

Example: Improved Euler’s Method: Consider the initial value


problem:
dy
=y+t with y(0) = 3
dt
The solution to this differential equation is

y(t) = 4 et − t − 1

Numerically solve this using Euler’s Method and Improved


Euler’s Method using h = 0.1
Compare these numerical solutions

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (29/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Example: Improved Euler’s Method 2

Solution: Let y0 = 3, the Euler’s formula is

yn+1 = yn + h(yn + tn ) = yn + 0.1(yn + tn )

The Improved Euler’s formula is

yen = yn + h(yn + tn ) = yn + 0.1(yn + tn )

with
h
yn+1 = yn + 2 ((yn + tn ) + (yen + tn + h))
yn+1 = yn + 0.05 (yn + yen + 2 tn + 0.1)

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (30/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Example: Improved Euler’s Method 3

Solution: Below is a table of the numerical computations

t Euler’s Method Improved Euler Actual


0 y0 = 3 y0 = 3 y(0) = 3
0.1 y1 = 3.3 y1 = 3.32 y(0.1) = 3.3207
0.2 y2 = 3.64 y2 = 3.6841 y(0.2) = 3.6856
0.3 y3 = 4.024 y3 = 4.0969 y(0.3) = 4.0994
0.4 y4 = 4.4564 y4 = 4.5636 y(0.4) = 4.5673
0.5 y5 = 4.9420 y5 = 5.0898 y(0.5) = 5.0949
0.6 y6 = 5.4862 y6 = 5.6817 y(0.6) = 5.6885
0.7 y7 = 6.0949 y7 = 6.3463 y(0.7) = 6.3550
0.8 y8 = 6.7744 y8 = 7.0912 y(0.8) = 7.1022
0.9 y9 = 7.5318 y9 = 7.9247 y(0.9) = 7.9384
1 y10 = 8.3750 y10 = 8.8563 y(1) = 8.8731

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (31/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Example: Improved Euler’s Method 4


Graph of Solution: Actual, Euler’s and Improved Euler’s
dy/dt = y + t
30

25

20
y(t)

15

10

Actual Solution
Euler Solution
Improved Euler
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
t

The Improved Euler’s solution is very close to the actual solution


Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (32/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Example: Improved Euler’s Method 5

Solution: Comparison of the numerical simulations

It is very clear that the Improved Euler’s method does a


substantially better job of tracking the actual solution
The Improved Euler’s method requires only one additional
function, f (t, y), evaluation for this improved accuracy
At t = 1, the Euler’s method has a −5.6% error from the actual
solution
At t = 1, the Improved Euler’s method has a −0.19% error from
the actual solution

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (33/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Improved Euler’s Method Error


Improved Euler’s Method Error
Showed earlier that Euler’s method had a local truncation
error of O(h2 ) with global error being O(h)
Similar Taylor expansions (in two variables) give the local
truncation error for the Improved Euler’s method as O(h3 )
For Improved Euler’s method, the global truncation error
is O(h2 )
From a practical perspective, these results imply:
With Euler’s method, the reduction of the stepsize by a
factor of 0.1 gains one digit of accuracy
With Improved Euler’s method, the reduction of the
stepsize by a factor of 0.1 gains two digits of accuracy
This is a significant improvement at only the cost of one
additional function evaluation per step
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (34/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Numerical Example 1

Numerical Example: Consider the IVP


dy
= 2e−0.1t − sin(y), y(0) = 3,
dt
which has no exact solution, so must solve numerically
Solve this problem with Euler’s method and Improved
Euler’s method
Show differences with different stepsizes for t ∈ [0, 5]
Show the order of convergence by halving the stepsize twice
Graph the solution and compare to solution from ode23 in
MatLab, closely approximating the exact solution

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (35/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Numerical Example 2
dy
Numerical Solution for dt = 2e−0.1t − sin(y), y(0) = 3
Used MatLab’s ode45 to obtain an accurate numerical solution to
compare Euler’s method and Improved Euler’s method with
stepsizes h = 0.2, h = 0.1, and h = 0.05
“Actual” Euler Im Eul Euler Im Eul Euler Im Eul
tn h = 0.2 h = 0.2 h = 0.1 h = 0.1 h = 0.05 h = 0.05
0 3 3 3 3 3 3 3
1 5.5415 5.4455 5.5206 5.4981 5.5361 5.5209 5.5401
2 7.1032 7.1718 7.0881 7.1368 7.0995 7.1199 7.1023
3 7.753 7.836 7.743 7.7939 7.7505 7.7734 7.7524
4 8.1774 8.2818 8.167 8.2288 8.1748 8.2029 8.1768
5 8.5941 8.7558 8.5774 8.6737 8.5899 8.6336 8.5931
1.88% −0.194% 0.926% −0.0489% 0.460% −0.0116%

Last row shows percent error between the different approximations


and the accurate solution
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (36/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Numerical Example 3

Error of Numerical Solutions


Observe that the Improved Euler’s method with stepsize
h = 0.2 is more accurate at t = 5 than Euler’s method with
stepsize h = 0.05
With Euler’s method the error cuts in half with halving of the
stepsize
With the Improved Euler’s method the errors cuts in quarter
with halving of the stepsize

Lecture Notes – Numerical Methods for Differe


Joseph M. Mahaffy, [email protected] — (37/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Numerical Example 4
Graph of Solution: Actual, Euler’s and Improved Euler’s methods
with h = 0.2
dy/dt = y + t
30

25

20
y(t)

15

10

Actual Solution
Euler Solution
Improved Euler
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
t

The Improved Euler’s solution is veryLecture


close to the actual solution
Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (38/39)
Improved Euler’s Method - Algorithm
Introduction
Example
Euler’s Method
Improved Euler’s Method Error
Improved Euler’s Method
Order of Error

Order of Error
Error of Numerical Solutions
Order of Error without good “Actual solution”
Simulate system with stepsizes h, h/2, and h/4 and define
these simulates as yn1 , yn2 , and yn3 , respectively
Compute the ratio (from Cauchy sequence)

|yn3 − yn2 |
R=
|yn2 − yn1 |

If the numerical method is order m, then this ratio is


approximately 21m
Above example at t = 5 has R = 0.488 for Euler’s method
and R = 0.256 for Improved Euler’s method
Allows user to determine how much error numerical routine
is generating
Lecture Notes – Numerical Methods for Differe
Joseph M. Mahaffy, [email protected] — (39/39)

You might also like