从左端边界点发射,通过改变初始斜率多次射击。欠射(橙色)、过射(红色)、收敛的解(蓝色、粗线)被绘制,只有蓝色轨迹准确穿过右端的目标。
$$y''=c\,y,\quad y(0)=A,\ y(L)=B$$
需要求解的边界值问题。在区间 [0, L] 两端指定解的值 A、B。将其转换为一阶连立系统 $y'=v,\ v'=c\,y$ 进行积分。
$$s^\star=s_0+\frac{B-y_{end}(s_0)}{y_{end}(s_1)-y_{end}(s_0)}\,(s_1-s_0)$$
初始斜率的割线更新式。$y_{end}(s)$ 是用初始斜率 s 到达右端的值,$s_0,s_1$ 是试行斜率。对于线性常微分方程,$y_{end}(s)$ 对 s 是一次函数,因此只需两次射击和一次插值就能精确命中边界条件。