Midpoint method

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Illustration of the midpoint method assuming that yn equals the exact value y(tn). The midpoint method computes yn + 1 so that the red chord is approximately parallel to the tangent line at the midpoint (the green line).

In numerical analysis, a branch of applied mathematics, the midpoint method is a one-step method for solving the differential equation

 y'(t) = f(t, y(t)), \quad y(t_0) = y_0

numerically, and is given by the formula

 y_{n+1} = y_n + hf\left(t_n+\frac{h}{2},y_n+\frac{h}{2}f(t_n, y_n)\right),  \qquad\qquad (1)

for n=0, 1, 2, \dots Here, h is the step size — a small positive number, tn = t0 + nh, and yn is the computed approximate value of y(tn).

The name of the method comes from the fact that in the formula above the function f is evaluated at t = tn + h / 2, which is the midpoint between tn at which the value of y(t) is known and tn + 1 at which the value of y(t) needs to be found.

The local error at each step of the midpoint method is of order O\left(h^3\right), giving a global error of order O\left(h^2\right). Thus, while more computationally intensive than Euler's method, the midpoint method generally gives more accurate results.

The method is an example of a class of higher-order methods known as Runge-Kutta methods.

[edit] Derivation of the midpoint method

Illustration of numerical integration for the equation y' = y,y(0) = 1. Blue: the Euler method, green: the midpoint method, red: the exact solution, y = et. The step size is h = 1.0.
The same illustration for h = 0.25. It is seen that the midpoint method converges faster than the Euler method.

The midpoint method is a refinement of the Euler's method

 y_{n+1} = y_n + hf(t_n,y_n),\,

and is derived in a similar manner. The key to deriving Euler's method is the approximate equality

 y(t+h) \approx y(t) + hf(t,y(t)) \qquad\qquad (2)

which is obtained from the slope formula

 y'(t) \approx \frac{y(t+h) - y(t)}{h} \qquad\qquad (3)

and keeping in mind that y' = f(t,y).

For the midpoint method, one replaces (3) with the more accurate

 y'\left(t+\frac{h}{2}\right) \approx \frac{y(t+h) - y(t)}{h}

when instead of (2) we find

 y(t+h) \approx y(t) + hf\left(t+\frac{h}{2},y\left(t+\frac{h}{2}\right)\right). \qquad\qquad (4)

One cannot use this equation to find y(t + h) as one does not know y at t + h / 2. The solution is then to use a Taylor series expansion exactly as if using the Euler method to solve for y(t + h / 2):

y\left(t + \frac{h}{2}\right) \approx y(t) + \frac{h}{2}y'(t)=y(t) + \frac{h}{2}f(t, y(t)),

which, when plugged in (4), gives us

y(t + h) \approx y(t) + hf\left(t + \frac{h}{2}, y(t) + \frac{h}{2}f(t, y(t))\right)

and the midpoint method (1).

[edit] See also

[edit] References

  • Griffiths,D. V.; Smith, I. M. (1991). Numerical methods for engineers: a programming approach. Boca Raton: CRC Press. p. 218. ISBN 0-8493-8610-1. 
Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export