Theory of Explicit Methods

Consider the following initial value problem.

Multiply by dt and integrate once to get

This is

The last substitution gives a basis for the various methods. Different interpolation schemes for y(t) provide different integration schemes; using low-order interpolation gives low-order integration schemes [Lapidus and Seinfeld, 1971; Finlayson, 1980].

Euler's method is first-order and is obtained by approximating the integral as the value of f at tn and yn times t..

and errors are proportional to delta-t The second-order Adams-Bashforth method is

and errors are proportional to delta-t2; high-order methods are also available. Notice that the high-order explicit methods require knowing the solution (or the right-hand side) evaluated at times in the past. Since these were calculated to get to the current time this presents no problem except for starting the problem. Then it may be necessary to use Euler's method with a very small step-size for several steps in order to generate starting values at a succession of time points. The error terms, order of the method, function evaluations per step, and stability limitations are listed in the table. The advantage of the high-order Adams-Bashforth method is that it uses only one additional function evaluation per step yet achieves high-order accuracy. The disadvantage is the necessity of using another method to start.

Method Error Order No.Fn.Eval. Stab. Limit

Runge-Kutta methods are explicit methods which use several function evaluations for each time step. Runge-Kutta methods are traditionally written for f(t,y). The first-order Runge-Kutta method is Euler's method. A second-order Runge-Kutta method is

while the mid-point scheme is also a second-order Runge-Kutta method.

A popular fourth-order Runge-Kutta method is the Runge-Kutta-Feldberg formulas [Forsythe, et al. 1977], which have the property that the method is 4th order but achieves fifth-order accuracy. The MATLAB program ode45 is based on this method.

The value of yn+1 - zn+1 is an estimate of the error in yn+1 and can be used in step-size control schemes. MATLAB also has a method ode23 which is based on similar equations, except that the method is second order, with third order accuracy.

Usually one would use a high-order method to achieve high accuracy. The Runge-Kutta-Feldberg method is popular because it is high order and does not require a starting method (as does an Adams-Bashforth method). However, it does require four function evaluations per time step, or four times as many as a fourth-order Adams-Bashforth method. For problems in which the function evaluations are a significant portion of the calculation time this might be important. Given the speed of present-day computers and the widespread availability of microcomputers (which can be run while you are doing something else, if need be) the efficiency of the methods is most important only for very large problems that are going to be solved many times. For other problems the most important criterion for choosing a method is probably the time the user spends setting up the problem.

Take Home Message: Explicit methods of different orders are possible by using different interpolation schemes. Errors are smaller for higher-order methods, but there is more work to apply them, too.