Shooting method

From Wikipedia, the free encyclopedia

In numerical analysis, the shooting method is a method for solving a boundary value problem by reducing it to the solution of an initial value problem. 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

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

be the boundary value problem. Let y(t; a) denote the solution of the initial value problem

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

Define the function F(a) as the difference between y(t1; a) and the specified boundary value y1.

 F(a) = y(t_1; a) - y_1 \,

If the boundary value problem has a solution, then F has a root, and that root is just the value of y'(t0) which yields a solution y(t) of the boundary value problem.

The usual methods for finding roots may be employed here, such as the bisection method or Newton's method.

Contents

[edit] Linear shooting method

The boundary value problem is linear if f has the form

 f(t, y(t), y'(t))=p(t)y'(t)+q(t)y(t)+r(t). \,

In this case, the solution to the boundary value problem is usually given by:

y(t) = y_{(1)}(t)+\frac{y_1-y_{(1)}(t_1)}{y_{(2)}(t_1)}y_{(2)}(t)

where y(1)(t) is the solution to the initial value problem:

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

and y(2)(t) is the solution to the initial value problem:

y''(t) = p(t)y'(t)+q(t)y(t),\quad y(t_0) = 0, \quad y'(t_0) = 1.

See the proof for the precise condition under which this result holds.

[edit] Example

A boundary value problem is given as follows by Stoer and Bulirsch (Section 7.3.1).

 w''(t) = \frac{3}{2} w^2, \quad w(0) = 4, \quad w(1) = 1

The initial value problem

 w''(t) = \frac{3}{2} w^2, \quad w(0) = 4, \quad w'(0) = s

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.

Solutions of the initial value problem were computed by using the LSODE algorithm, as implemented in the mathematics package GNU Octave.

Stoer and Bulirsch 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).

The function F(s) = w(1;s) − 1.
The function F(s) = w(1;s) − 1.
Trajectories w(t;s) for s = w'(0) equal to −7, −8, −10, −36, and −40 (red, green, blue, cyan, and magenta, respectively). The point (1,1) is marked with a red diamond.
Trajectories w(t;s) for s = w'(0) equal to −7, −8, −10, −36, and −40 (red, green, blue, cyan, and magenta, respectively). The point (1,1) is marked with a red diamond.


[edit] References

  • Josef Stoer and Roland Bulirsch. Introduction to Numerical Analysis. New York: Springer-Verlag, 1980. (See Section 7.3.)

[edit] External links

Languages