Transcript Slide 1
Solutions to ODEs
• A general form for a first order ODE is
dy
F x, y , 0
dx
• Or alternatively
dy
f x, y
dx
...(1)
• A general form for a first order ODE is
dy
F x, y , 0
dx
• Or alternatively
dy
f x, y
dx
...(1)
• We desire a solution y(x) which satisfies
(1) and one specified boundary condition.
• To do this we divide the interval in the
independent variable x for the interval [a,b]
into subintervals or steps.
• To do this we divide the interval in the
independent variable x for the interval [a,b]
into subintervals or steps.
• Then the value of the true solution is
approximated at n+1 evenly spaced values
of x.
• Such that, xi x0 ih i 0,1,...,n
ba
• where,h
n
• We denote the approximation at the base
pts by yi so that yi yxi
• We denote the approximation at the base
pts by so that yi yxi
• The true derivation dy/dx at the base
points is approximated by f xi , yi or just f i
• where fi f xi , yi f xi , yxi
• We denote the approximation at the base
pts by so that yi yxi
• The true derivation dy/dx at the base
points is approximated by f xi , yi or just f i
• where fi f xi , yi f xi , yxi
• Assuming no roundoff error the difference
in the calculated and true value is the
truncation error, i yi yxi
• The only errors which will be examined are
those inherent to the numerical methods.
•
Numerical algorithms for solving 1st order
odes for an initial condition are based on
one of two approaches:
1. Direct or indirect use of the Taylor series
expansion for the solution function yx
2. Use of open or closed integration
formulas.
•
The various procedures are classified
into:
1. One-step: calculation of yi 1 given the
differential equation and yi 1, xi
2. Multi-step: in addition the previous
information they require values of x and y
outside of the interval under
consideration
• The first method considered is the Taylor
series method.
• It forms the basis for some of the other
methods.
Taylor Expansion
• For this method we express the solution yx
about some starting point x0 using a Taylor
expansion.
y x0 h y x0 hf x0 , y x0
h2
f x0 , y x0
2
h3
f x0 , y x0 ...
6
• where f x, yx denotesd dx f x, yx
• Where f x, yx denotesd dx f x, yx
2
2
f
x
,
y
x
denotes
d
dx
f x, yx
• And
• etc.
dy
2
f
x
,
y
x
where
dx
• Consider the example,
• And initial condition yx0 y0
dy
2
f
x
,
y
x
where
dx
• Consider the example,
• And initial condition yx0 y0
• Differentiating and then applying initial
conditions,
f x, y 2 x
dy
2
f
x
,
y
x
where
dx
• Consider the example,
• And initial condition yx0 y0
• Differentiating and then applying initial
conditions,
f x, y 2 x
f x0 , y0 2 x0
dy
2
f
x
,
y
x
where
dx
• Consider the example,
• And initial condition yx0 y0
• Differentiating and then applying initial
conditions,
f x, y 2 x
f x, y 2
f x0 , y0 2 x0
dy
2
f
x
,
y
x
where
dx
• Consider the example,
• And initial condition yx0 y0
• Differentiating and then applying initial
conditions,
f x, y 2 x
f x0 , y0 2 x0
f x, y 2
f x0 , y0 2
• Continuing,
f x, y 0
• Continuing,
f x, y 0
f x0 , y0 0
• Continuing,
f x, y 0
.
.
f n x, y 0
f x0 , y0 0
.
.
n
x0 , y0 0 n 3
f
Here the third derivative and higher are
zero.
• Substituting these values into Taylor
expansion gives,
3
h
y x0 h y x0 hx02 h 2 x0
3
• Substituting these values into Taylor
expansion gives,
3
h
y x0 h y x0 hx02 h 2 x0
3
• To determine the error lets consider
compare this to the analytic solution.
• Substituting these values into Taylor
expansion gives,
3
h
y x0 h y x0 hx02 h 2 x0
3
• To determine the error lets consider
compare this to the analytic solution.
• To do this we will integrate the differential
equation.
dy
• Integrating, x 2
dx
dy
• Integrating, x 2
dx
y x0 h
dy
y x0
x0 h
x0
x 2 dx
dy
• Integrating, x 2
dx
y x0 h
dy
y x0
x0 h
x0
3
x
x dx
3
2
x0 h
x0
dy
• Integrating, x 2
dx
y x0 h
dy
y x0
•
x0 h
x0
3
x
x dx
3
2
x0 h
x0
3
h
2
2
y
x
h
y
x
hx
h
x0
Simplifying, 0
0
0
3
• In this case the two expressions are
identical, therefore there is no truncation
error.
Homework (Due Thursday)
dy
Consider the function f x, y 2 y
dx
Initial condition y x0 y0
•
•
1. Write the Taylor expansion and show that
it can be written in the form,
2
3
4
2h
2h 2h
yx0 h yx0 1 2h
2!
3!
4!
n 1
f
2. Show if terms up to n 1
are retained,
2h
the error is, y
, in x0 , x0 h
n 1!
• Stepping from x0 to x0 h follows from the
Taylor expansion of y x about x0.
• Stepping from x0 to x0 h follows from the
Taylor expansion of y x about x0.
• Equivalently stepping from x i to xi h can
be accomplished from the Taylor
expansion of y x about x i .
• Stepping from x0 to x0 h follows from the
Taylor expansion of y x about x0.
• Equivalently stepping from x i to xi h can
be accomplished from the Taylor
expansion of y x about x i .
y xi 1 y x h y xi hf xi , y xi
h 2 f xi , y xi h 3 f xi , y xi
2!
3!
...
h n f n 1 xi , y xi h n 1 f n , y
n 1!
n!
in xi , xi 1
• Algorithms for which the last term in
expansion is dropped are of order hn.
• The error is or order hn+1.
• The local truncation
error
is
bounded
as
h n 1
M
follows et
n 1!
• where
M f n , y
max
inxi , xi 1
• However differentiation of f x, y can be
complicated.
• However differentiation of f x, y can be
complicated.
• Direct Taylor expansion is not used other
than the simplest case,
yxi 1 yxi hf xi , yxi O h 2
• Big Oh is the order of the algorithm.
• Usually only the value of y x0 is the only
value of yxi that is known, therefore yxi
must be replaced by y i .
• Thus,
y1 yx0 hf x0 , yx0
• In general, yi 1 yi hf xi , yxi yi hfi i 1
which is known as Euler’s method.
Euler’s Method
• The problem with the simple Euler method
is the inherent inaccuracy in the formula.
• The geometric interpretation is shown the
diagram.
y
y1
y(x)
y(x0)
y(x1
h
x0
x1
x
• The solution across the interval[x0,x1] is
assumed to follow the line tangent to y(x)
at x0.
y
y1
y(x)
y(x0)
y(x1
h
x0
x1
x
• When the method is applied repeatedly
across several intervals in sequence, the
numerical solution traces out a polygon
segment with sides of slope fi,
i=0,1,2,…,(n-1).
• The simple Euler method is a linear
approximation, and only works if the
function is linear (or at least linear in the
interval).
• The simple Euler method is a linear
approximation, and only works if the
function is linear (or at least linear in the
interval).
• This is inherently inaccurate.
• Because of this inaccuracy small step
sizes are required when using the
algorithm.
y
y1
i
y(x0)
y(x1
• From the graph, as
h -> 0, the
approximation
y(x) becomes better
because the curve in
the region becomes
approx. linear.
h
x0
x1
x
• The modified Euler method improves on
the simple Euler method.
Modified Euler
• One modification is to determine the
average slope in the region.
• The average slope may be approximated
by the mean of the slopes at the beginning
and the end of the interval.
• One modification is to determine the
average slope in the region.
• The average slope may be approximated
by the mean of the slopes at the beginning
and the end of the interval.
• This modified Euler may be written as the
arithmetic average, yi 1 yi h yi yi1
or yi 1
f i f i 1
yi h
2
2
dy
where
f x, y
dx
• However it is not possible to implement
this directly.
• Instead we first “predict” a value for yi 1
using the simple Euler method.
• Then use this value to determine the
gradient of the slope at yi 1. This gives a
“corrected” value for yi 1 .
• However since the predicted value is not
usually accurate, yi1 is also inaccurate.
Corrector curve using
values of predictor
Predictor curve using
the Simple Euler
y1
y0
True value
x0
x1
Runge-Kutta Methods
• The solution of a differential equation
using higher order derivatives of the Taylor
expansion is not practical.
• The solution of a differential equation
using higher order derivatives of the Taylor
expansion is not practical.
• Since for only the simplest functions, these
higher orders are complicated. Also there
is no simple algorithm which can be
developed.
• This is because each series expansion is
unique.
• However we have methods which use only
1st order derivates while simulating higher
order(producing equivalent results).
• These one step methods are called
Runge-Kutta methods.
• However we have methods which use only
1st order derivates while simulating higher
order(producing equivalent results).
• These one step methods are called
Runge-Kutta methods.
• Approximation of the second, third and fourth
order (retaining h2, h3, h4 respectively in the
Taylor expansion) require estimation at 2, 3 ,
4 pts respectively in the interval (xi,xi+1).
• Method of order m (where m >4) require
derivate evaluation at more than m nearby
points.
• The Runge-Kutta methods have
algorithms of the form, yi 1 yi h xi , yi , h
• where is the increment function.
• The increment function is a suitably
chosen approximation to f x, y on the
interval xi x xi 1 .
• The Runge-Kutta methods have
algorithms of the form, yi 1 yi h xi , yi , h
• where is the increment function.
• The increment function is a suitably
chosen approximation to f x, y on the
interval xi x xi 1 .
• Because of the amount of algebra
involved, on the simplest case(2nd order)
will be derived in detail.
Derivation of the 2nd order
Runge-Kutta
• Let be the weighted average of two
derivative evaluations k1and k 2 on the
interval xi x xi 1,
• Let be the weighted average of two
derivative evaluations k1and k 2 on the
interval xi x xi 1, ak1 bk2
• Let be the weighted average of two
derivative evaluations k1and k 2 on the
interval xi x xi 1, ak1 bk2
• Then, yi 1 yi hak1 bk2
• Let be the weighted average of two
derivative evaluations k1and k 2 on the
interval xi x xi 1, ak1 bk2
• Then, yi 1 yi hak1 bk2
• Let, k1 f xi , yi
k 2 f xi ph, yi qhf xi , yi
f xi ph, yi qhk1
• The constants p and q will be established.
• Expanding k 2in a Taylor series for a
function of two variables and dropping
terms higher than h,
k2 f xi ph, yi qhf xi , yi
f xi , yi phfx xi , yi
qhf xi , yi f y xi , yi O h 2
• NB: 1st few terms in two-variable Taylor series,
f x r , y s f x, y rf x x, y sf y x, y r 2 f xx x, y / 2
rsf xy x, y s 2 f yy x, y / 2 O r s
3
2
k
f
x
,
y
phf
x
,
y
qhf
x
,
y
f
x
,
y
O
h
2
i
i
x
i
i
i
i
y
i
i
Recall:
•
• Substituting for k 2,
yi 1 yi haf xi , yi bf xi , yi
h 2 bpfx xi , yi bqf xi , yi f y xi , yi O h3
2
k
f
x
,
y
phf
x
,
y
qhf
x
,
y
f
x
,
y
O
h
2
i
i
x
i
i
i
i
y
i
i
Recall:
•
• Substituting for k 2,
yi 1 yi haf xi , yi bf xi , yi
h 2 bpfx xi , yi bqf xi , yi f y xi , yi O h3 ...1
• Expanding the function yx about x i
y xi h y xi 1 y xi hf xi , y xi
h2
h3
f xi , y xi
f , y
2
6
in xi , xi 1 ...2
• Using the chain rule f xi , yxi can be written
as, f xi , yxi f x xi , yxi f xi , yxi f y xi , yxi
• Using the chain rule f xi , yxi can be written
as, f xi , yxi f x xi , yxi f xi , yxi f y xi , yxi
• Equating like terms in equation 1 and 2,
Power
of h
Expansion of y(x)
Runge-Kutta
y xi
0
yi
1
f xi , yxi
2
1
f x xi , y xi f xi , y xi f y xi , y xi i
2
a b f xi , yi
bpfx xi , yi bqf xi , yi f y xi , yi
• Assuming that yi yxi we compare
coefficients. So that, a b 1, bp 1 2 and bq 1 2
• Assuming that yi yxi we compare
coefficients. So that, a b 1, bp 1 2 and bq 1 2
1
• Therefore, a 1 b and p q
2b
• Assuming that yi yxi we compare
coefficients. So that, a b 1, bp 1 2 and bq 1 2
1
• Therefore, a 1 b and p q
2b
• However we have four unknowns and only
three equations.
• We have the variable b which can be
chosen arbitrarily.
• Two common choices are b 12 and b 1
• Forb 12 . a 12 , p 1, q 1 and we get,
yi 1 yi
h
f xi , yi f xi h, yi hf xi , yi
2
• which can be written as,
yi 1 yi
h
f xi , yi f xi 1 , yi 1
2
yi 1 yi hf xi , yi
• where
• This improved Euler method or Heun’s
Method.
• Geometric Interpretation
f xi 1 , yi 1
yi 1
yi 1
yi
h
2
h
xi
xi 1
• For b 1 .a 0, p 12 , q 12 and we get,
h
yi 1 yi hf xi , yi 1
2
2
yi 1 yi
h
f xi , yi
2
• where
• This improved polygon method or the
modified Euler’s Method.
2
• Geometric Interpretation
f xi h2 , yi i
2
yi 1
yi i
2
yi
h
2
xi
h
2
xi 1
Higher Orders
• The higher orders are developed in the
way as the 2nd order Runge-Kutta.
• Consider the 3rd order Runge-Kutta,
ak1 bk2 ck3
• k1 , k2 and k3 approximate the derivative at
the points on the interval.
• The higher orders are developed in the
way as the 2nd order Runge-Kutta.
• Consider the 3rd order Runge-Kutta,
ak1 bk2 ck3
• k1 , k2 and k3 approximate the derivative at
the points on the interval.
• For this case,k1 f xi , yi
k2 f xi ph, yi phk1
k3 f xi rh, yi shk2 r s hk1
• Third order Runge-Kutta algorithms are of
the form, yi 1 yi hak1 bk2 ck3
• Third order Runge-Kutta algorithms are of
the form, yi 1 yi hak1 bk2 ck3
• To determine a,b,c,p,r and s,
First expand k2 and k3 about xi , yi
• Third order Runge-Kutta algorithms are of
the form, yi 1 yi hak1 bk2 ck3
• To determine a,b,c,p,r and s,
First expand k2 and k3 about xi , yi
Expand yx as a Taylor series.
• Third order Runge-Kutta algorithms are of
the form, yi 1 yi hak1 bk2 ck3
• To determine a,b,c,p,r and s,
First expand k2 and k3 about xi , yi
Expand yx as a Taylor series.
Compare coefficients of the Runge-Kutta
and Taylor series.
• The equations formed are,
a b c 1
bp cr 1 2
bp cr 13
2
2
cps
1
6
• Two of the constants a,b,c,p,r,s are
arbitrary.
• For one set of constant, selected by Kutta
the third order algorithm is,
h
yi 1 yi k1 4k 2 k3
6
k1 f xi , yi
k2 f xi 12 h, yi 12 hk1
k3 f xi h, yi 2hk2 hk1
• For one set of constant, selected by Kutta
the third order algorithm is,
h
yi 1 yi k1 4k 2 k3
6
k1 f xi , yi
k2 f xi 12 h, yi 12 hk1
k3 f xi h, yi 2hk2 hk1
• If f x, y is a function of x only then this
reduces to the Simpson’s rule.
• Runge-Kutta formulas of higher orders can
be developed using a similar procedure.