Shooting method
In numerical analysis, the shooting method is a method for solving a boundary value problem by reducing it to the system of an initial value problem. Roughly speaking, we 'shoot' out trajectories in different directions until we find a trajectory that has the desired boundary value. The following exposition may be clarified by this illustration of the shooting method.
For a boundary value problem of a second-order ordinary differential equation, the method is stated as follows. Let
be the boundary value problem. Let y(t; a) denote the solution of the initial value problem
Define the function F(a) as the difference between y(t1; a) and the specified boundary value y1.
If F has a root a then the solution y(t; a) of the corresponding initial value problem is also a solution of the boundary value problem. Conversely, if the boundary value problem has a solution y(t), then y(t) is also the unique solution y(t; a) of the initial value problem where a = y'(t0), thus a is a root of F.
The usual methods for finding roots may be employed here, such as the bisection method or Newton's method.
Origin of the term
The term 'shooting method' has its origin in artillery. When firing a cannon towards a target, the first shot is fired in the general direction of the target. If the cannon ball hits too far to the right, the cannon is pointed a little to the left for the second shot, and vice versa. This way, the cannon balls will hit ever closer to the target.
Linear shooting method
The boundary value problem is linear if f has the form
In this case, the solution to the boundary value problem is usually given by:
where is the solution to the initial value problem:
and is the solution to the initial value problem:
See the proof for the precise condition under which this result holds.
Example
A boundary value problem is given as follows by Stoer and Bulirsch[1] (Section 7.3.1).
was solved for s = −1, −2, −3, ..., −100, and F(s) = w(1;s) − 1 plotted in the first figure. Inspecting the plot of F, we see that there are roots near −8 and −36. Some trajectories of w(t;s) are shown in the second figure.
Stoer and Bulirsch[1] state that there are two solutions, which can be found by algebraic methods. These correspond to the initial conditions w′(0) = −8 and w′(0) = −35.9 (approximately).
Notes
- Stoer, J. and Bulirsch, R. Introduction to Numerical Analysis. New York: Springer-Verlag, 1980.
References
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). "Section 18.1. The Shooting Method". Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.
External links
- Brief Description of ODEPACK (at Netlib; contains LSODE)
- Shooting method of solving boundary value problems – Notes, PPT, Maple, Mathcad, Matlab, Mathematica at Holistic Numerical Methods Institute