§6 常微分方程的数值解法
一、 一阶微分方程初值问题的数值解
要求微分方程
![]()
在初始条件
![]()
下的数值解,就是要在解存在的区间的一系列点
![]()
上从初值y0出发,逐个求出
的近似值
.
[改进的欧拉方法(预报校正法)] 计算公式为

式中yn表示y(xn)的近似值,
表示步长.这里截断误差为
![]()
这个方法中,(1)式用折线法提供初值,称为预报公式.(2)式用梯形法给出较精确的值,称为校正公式.合称预报校正公式.
[龙格-库塔方法] 计算公式为
![]()
式中

截断误差为 R=O(h5)
手算时按下表自上而下进行.
|
|
|
|
k |
|
x0
|
y0
|
|
|
[阿达姆斯方法]
1° 内插公式
![]()
这是关于
的隐式方程,只要h比较小,可用迭代法求解.
2° 外推公式
![]()
这是关于yn+1的显式方程,只要知道前几点的值,就可从公式中直接算出yn+1.
3° 预报校正公式

截断误差都为
R=O(h5)
阿达姆斯方法可以单独采用外推公式计算,每算一个yn+1,只要计算一次f(x,y)的值,计算量比龙格-库塔法小,而截断误差同阶,所以计算量小是外推法优点之一.缺点是前几个yi值不能用此法计算,计算y1 ,y2 ,y3需采用其他方法(一般可用龙格-库塔法).
补充说明 1°
阿达姆斯方法中,计算yn+1的值,要用到
所以称为多步法.而改进的欧拉法、龙格-库塔法,只要用到yn,所以称为一步法.
2° 一步法中途改变步长方便,多步法中途改变步长麻烦,因要用一步法重新算出开头几项.
3° 多步法还有一个优点,即可顺便估计出截断误差.
用yn+1(E)和yn+1(I)分别表示用外推和内插公式算得的值,有
![]()
式中
.若计算时规定的允许误差不超过ε,就将ε与
![]()
比较,如果
,可继续计算,否则说明误差太大,应当缩小步长.若
比ε小得多,不妨将步长放大,提高计算速度.