打靶法
打靶法()是数值分析中在求解边界值问题时,将解归约为求解数个初值问题的方法。下面的讨论在打靶法的解释中有详细注释。
对于一个二阶常微分方程的边界值问题,该方法表述如下:
令
formula_1
为边界值问题。
令 "y"("t"1; "a") 代表下列初值问题的一个解
formula_2
定义函数"F"("a")为"y"("t"1; "a")和给定边界值"y"1的差
formula_3
若边界值问题有解,则"F"有一个根,而这个根就是"y"'("t"0)的给出边界问题解"y"("t")的取值。
上述问题的求解可以采用通常的求根方法,例如二分法或者牛顿法。
线性打靶法.
边界值问题是线性的,若"f"形为
formula_4
这个情况下,边界值问题的解通常给出为
formula_5
其中formula_6是下面的初值问题的一个解
formula_7
而formula_8是下面的初值问题的解:
formula_9
结果成立的精确条件请参看证明。
例子.
Stoer及Burlisch曾提出一个如下的边界值问题(Section 7.3.1)
formula_10
以下的初值问题
formula_11
在"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时的值。
生成维基百科快照图片,大概需要3-30秒!