Solving Initial-Value Problem for ODE
Initial value problem:
1. Single step methods:
Runge-Kutta methods:
(1) Euler’s method:
,
, for each
(2) Midpoint method:
,
, for each
(3) Modified Euler method:
,
, for each
(4) Heun’s method:
,
, for each
(5) Classic Runge-Kutta method:
for each
(6) Runge-Kutta Fehlberg method:
This technique consists of using a Runge-Kutta method with local truncation error of order five,
,
to estimate the local error in a Runge-Kutta method of order four,
,
where
,
,
,
,
,
.
An advantage to this method is that only six evaluations of are required per step.
2. Linear multistep methods:
Adams-Bashforth methods:
(1) One-step: Euler’s method.
(2) Two-step:
,
, for each
(3) Three-step:
,
, for each
(4) Four-step:
,
for each
Adams-Moulton methods:
(1) One-step: Trapezoidal method,
,
, for each
(2) Two-step:
,
, for each
(3) Three-step:
,
, for each
Adams Fourth-Order Predictor-Corrector:
,
.
Adams Variable-Step-Size Fourth-Order Predictor-Corrector:
,
,
with an estimate of the local truncation error of the corrector step:
,
followed by a process of choosing and a criterion of changing when necessary. A change in step size for a multistep method is more costly in terms of function evaluations than for a one-step method, since new equally spaced starting values must be computed. So we tend to do this conservatively.
Milne’s method:
.
Simpson’s method:
.
Milne-Simpson Predictor-Corrector:
,
.
Note: However, Milne, Simpson, Milne-Simpson Predictor-Corrector methods are all inherently A-unstable and therefore are of limited use.
BDF(Backward Differential Formula):
(1) One-step: implicit Euler’s method,
,
.
(2) Two-step:
,
.
(3) Three-step:
,
.
(4) Four-step:
.
(5) Five-step:
,
(6) Six-step:
,
3. MATLAB ODE suite:
Non-Stiff:ode23, ode45, ode113.
Stiff:ode15s, ode23s.
For details read 【2】.
References:
【1】
R. L. Burden and J. D. Faires, Numerical Analysis, PWS,
【2】 L. F. Shampine and M. W. Reichelt, “The Matlab ODE Suite,” Siam Journal on Scientific Computing, Volume 18, Number 1, pp1-22, 1997.