§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)分别表示用外推和内插公式算得的值,有
式中.若计算时规定的允许误差不超过ε,就将ε与
比较,如果,可继续计算,否则说明误差太大,应当缩小步长.若比ε小得多,不妨将步长放大,提高计算速度.