打靶法(英語:Shooting method)是數值分析中在求解邊界值問題時,將解歸約為求解數個初值問題的方法。下面的討論在打靶法的解釋中有詳細注釋。

對於一個二階常微分方程的邊界值問題,該方法表述如下: 令

為邊界值問題。 令 y(t1; a) 代表下列初值問題的一個解

定義函數F(a)為y(t1; a)和給定邊界值y1的差

若邊界值問題有解,則F有一個根,而這個根就是y'(t0)的給出邊界問題解y(t)的取值。

上述問題的求解可以採用通常的求根方法,例如二分法或者牛頓法

線性打靶法

邊界值問題是線性的,若f形為

 

這個情況下,邊界值問題的解通常給出為

 

其中 是下面的初值問題的一個解

 

 是下面的初值問題的解:

 

結果成立的精確條件請參看證明

例子

Stoer及Burlisch曾提出一個如下的邊界值問題(Section 7.3.1)

 

以下的初值問題

 

s = −1, −2, −3, ..., −100等條件下求解,且令F(s) = w(1;s) − 1,其圖形繪製在第一圖中,根據圖中可知,其解接近−8及−36。 第二圖繪出一些w(t;s)的軌跡。

初值問題的解是由LSODE演算法計算,利用數學軟體GNU Octave實現。

Stoer及Bulirsch列出有二個解,可以用代數法求解。 對應初始條件約w′(0) = −8及 and w′(0) = −35.9時的值。

 
F(s) = w(1;s) − 1.
 
w(t;s)的軌跡,s = w'(0)等於−7, −8, −10, −36及−40(顏色分別是紅、綠、藍、淺藍、洋紅),(1,1)有繪製一紅色的菱形。


參考

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