340 likes | 626 Views
8.4 线性多步法. 8.4.1 基于数值积分的方法. 8.4.2 基于 Taylor 展开的方法. 8.4.2 基于 Taylor 展开的方法. 8.4 线性多步法. 常微分方程初值问题( 8.1.1 )的数值解法中,除了 Runge-Kutta 型公式等单步法之外,还有另一种类型的解法,即某一步的公式不仅与前一步解的值有关,而且与前若干步解的值有关,利用前面多步的信息预测下一步的值,这就是多步法的基本思想,可以期望获得较高的精度。构造多步法有多种途径,下面先讨论基于数值积分的方法。.
E N D
8.4线性多步法 8.4.1 基于数值积分的方法 8.4.2 基于Taylor展开的方法 8.4.2 基于Taylor展开的方法
8.4线性多步法 常微分方程初值问题(8.1.1)的数值解法中,除了Runge-Kutta型公式等单步法之外,还有另一种类型的解法,即某一步的公式不仅与前一步解的值有关,而且与前若干步解的值有关,利用前面多步的信息预测下一步的值,这就是多步法的基本思想,可以期望获得较高的精度。构造多步法有多种途径,下面先讨论基于数值积分的方法。
将(8.1.1)中的方程在区间 上积分,可以得到 (8.4.1) 如推导Newton-Cotes求积公式一样,用等距节点的插值多项式来替代被积函 数,再对插值多项式积分,这样就得到一系列求积公式。 例如,用梯形方法计算积分项 8.4.1 基于数值积分的方法
代入(8.4.1)式有 据此即可导出公式(8.1.4)。 一般地,设由 个数据点 构造插值多项式 ,这里, 。运用插值 公式有 将(8.4.1)离散化即得下列计算公式
(8.4.2) 其中 由此可得(8.4.2)中的系数,其具体数值见表8-6。公式(8.4.2)是一个r+1 步的显式公式,称为Adams显式公式。r=0时,即为Euler公式。
表 8-6 j 0 1 2 3 4 1 3 -1 23 -16 5 55 -59 37 -9 1901 -2774 2616 -1274 251 应用实例: 考虑跳伞员的下落速度。 自由落体运动可用牛顿第二定律描述:F=ma。实验表明,空气阻力模型 为 ,其中 ,比例系数 k 依赖于物体的大小、形状,空气 的密度和粘度。跳伞员下落的速度可描述为下列模型:
求其他需要计算的值。当 p=1 时,取 h=0.2 有 负号表示下降。显然,当 1< p <2 时,适合于数值方法求解。 设 k / m =1.5,g=32,先用中点法提供开始值,再用下列两步而阶方法
可见,三秒末跳伞员的末速度约有 21 。 若将模型修改为 p=1.1,取 h=0.2,则有计算结果:
可见三秒末跳伞员的末速度减慢了。计算结果如下图所示可见三秒末跳伞员的末速度减慢了。计算结果如下图所示 + 表示 p=1时的解,* 表示 p=1.1时的解
在上述Adams显式公式的推导中,选用了 作为插值 节点。这样的插值多项式 在求积区间 上逼近 是一 个外推结果。为了改善逼近效果,我们变外推为内推,即改用 为插值节点,用数据点 构造插值 多项式 ,则有 于是我们有如下的计算公式
其中 (8.4.3) 其具体数值见表 8-7。公式(8.4.3)是隐式公式,称为 Adams隐式公式。 r=0,1时分别为隐式 Euler公式和梯形公式。
表8-7 j 0 1 2 3 4 1 1 1 5 8 -1 9 19 -5 1 251 646 -264 106 -19 对于隐式公式(8.4.3),需要用迭代求解。确定 的迭代公式为
迭代收敛条件为 ,其中 的Lipschitz常数 利用插值多项式的余项,可以求出 Adams方法的局部截断误差。当然 也可以从得到的显式和隐式 Adama公式,有局部截断误差的定义来求出方 法的局部截断误差。表 8-8中列出了它们的局部截断误差的主项,有表 8-8 可以看出,Adams隐式方法的局部截断误差要小。 表 8-8 r 0 1 2 3 Adams显式公式 Adams隐式公式
基于数值积分可以构造出一系列求解常微分方程的计算公式,下面介绍基于数值积分可以构造出一系列求解常微分方程的计算公式,下面介绍 基于 Taylor 展开的待定系数法,它可灵活地构造出线性多步法。对固定的系 数,可以选取待定系数使线性多步法的阶尽可能高。还可以根据需要,确定显 式还是隐式。 设构造如下具有 p 阶精度的线性多步公式 (8.4.4) 当 时,则(8.4.4)为显式多步式。当 时,(8.4.4)为隐式多 步式。它们的局部截断误差为 8.4.2 基于Taylor展开的方法
利用原微分方程,有 (8.4.5) 现利用Taylor展开定理,确定线性多步公式(8.4.4)中的待定参数 , 使她达到 阶精度,即 。 对(8.4.5)式的右端各项在 点处作Taylor展开有
使 的系数为零,得到关于 和 的线性方程组 (8.4.6) 而且得到线性多步法的局部截断误差
下面我们构造几个著名的四阶线性多步公式,考虑下列形式的公式下面我们构造几个著名的四阶线性多步公式,考虑下列形式的公式 (8.4.7) (8.4.8) 由于 r=3,p=4 ,由(8.4.6)得到5个方程,而(8.4.7)中有9个为知量, 因此,(8.4.7)中有4个自由度。 若取 ,由(8.4.6)式得到其他5个待定参数的 方程组,解之得
(8.4.7) 代入(8.4.7)和(8.4.8)式,得到常用的四步四阶显式Admas公式和它的余项: (8.4.8) 若 取 ,由(8.4.6)式得到其他5个待定参数的 方程组,解之得 由此构造成著名的四步四阶显式Milne公式和它的余项
若取 由(8.4.6)式得到其他5个待定参数的方程 组,从而得三步四阶隐式Admas公式及余项: (8.4.13) (8.4.14) (8.4.11) 若取 ,求解(8.4.6)得著名的三步四阶隐式 Hamming公式及其余项: (8.4.12)
若取 ,求解(8.4.6)得到隐式Simpson公式及其 余项: (8.4.15) (8.4.16)
例8.5 分别取 h=0.2,2,用四阶显式 Milne公式和四阶隐式 Hamming公式 求解例8.4所给的初值问题。 解 我们用单步法提供多步法的初值。由4阶经典R-K公式为Milne公式提 供初值 ,为 Hamming公式提供 。h=0.2和h=2时的 计算结果及准确解之间的误差分别列于表8-9和表8-10。 从表8-9看出,两种多步法的计算精度都很高,Hamming公式化比 Milne公 式更精确。这是因为 Hamming公式的截断误差主项的系数比 Milne公式小。从 表8-10看到,当计算步长变大后,显式多步法 Milne公式的计算结果误差增大, 不稳定,而隐式多步法 Hamming公式的计算结果仍然是稳定的,这说明隐式公 式的稳定性比同阶的显式公式好。
Milne方法 误差 Hammins方法 误差 2.2 0.94294268 0.94291955 2.4 1.12283349 1.12283386 2.6 1.30643214 1.30638930 2.8 1.49291625 1.49292582 3.0 1.68195450 1.68190299 表8-9
Milne方法 误差 Hammins方法 误差 7 5.645745 5.645745 9 7.382325 7.637126 11 10.905316 9.635636 13 4.143831 11.632261 15 58.310717 13.632240 17 -249.662672 15.631690 表 8-10 经典R-K法和上述四阶线性多步法公式都是四阶精度,但每前进一步,前 者要计算4次微分方程右端方程,而后者只要计算一次新的右端函数值,计算 量减小了。
8.4.3 预估-校正算法 显式多步法容易计算,但其精度和稳定性没有相应的隐式方法好。然而, 隐式多步法需解方程,如果初值选得不当,则计算量较大。因此,设法选取好 的迭代初值是必要的。初值的自然选取是采用同阶显式多步法计算得到的解作 为隐式方法迭代的初值。这样,迭代次数不会多。若只迭代一次,则这样的算 法就是预估-校正算法。对于线性多步法,常用的预估——校正方法有四阶 Admas 显隐式预估-校公式和 Milne-Hamming 方法。 1.Adams 预估-校正公式 由(8.4.9)式作为预估公式,由(8.4.13)式作为校正公式,构成 Adams 预估- 校正公式:
若需作进一步的修正,则记上式所得的 ,由(8.4.10)和 (8.4.14)式有 于是得到
由此可见,若记 则 分别比 更好。但注意到, 的表达式中, 是未知的,因此改为
这样,得到下面的修正的Adams预估-校正公式: 预估: 在计算时,可调节计算步长 h ,使 ,其中 是 要求达到的计算精度。初值 由同阶单步法提供,当计算 时, 可取 。 修正: 校正: 修正:
若需作进一步的修正,则记上式所得的 ,由(8.4.12)和(8.4.16) 有 2. 修正Hamming公式 将 Milne 公式(8.4.11)和 Hamming 公式(8.4.15)结合,构成 Milne- Hamming 预估-校正公式:
于是得到 由此分别得 Milne 和 Hamming 公式的修正公式: 从而构成如下的修正 Hamming 公式:
在计算时,可调节计算步长 h ,使 。初值 由同阶单步法提供,当计算 时,可取 。 预估: 修正: 校正: 修正:
Milne-Hamming 误差 修正Hamming 误差 2.2 0.94291625 0.94292449 2.4 1.12282872 1.12283955 2.6 1.30638271 1.30639537 2.8 1.49291816 1.49293184 3.0 1.68189467 1.68190879 例8.6 取 h=0.2,用 Milne-Hamming 预估-校正公式和修正 Hamming 公 式求解例8.4所给的初值问题。 解 用经典 R-K 法提供初值,计算结果列于表 8-11。将表 8-9 与表 8-11 所示的计算结果进行比较,它们的计算精度排列次序是:修正 Hamming 公 式的精度最好,其次是隐式 Hamming 公式,再次是 Milne-Hamming 预估- 校正公式,最后是 Milne 公式。 表8-11