常微分方程数值解法
第九章 常微分方程数值解法
一、单步法及其收敛阶
1、Euler方法
(1)显式Euler公式:yn+1=yn+hf(xn,yn)
n=0,1,2,L
这是最早的一种数值方法,由于它不够精确,很少被采用,但它是其它方法的基础。 (2) 改进的Euler公式:yn+1=yn+
h
[f(xn,yn)+f(xn+1,yn+1)]n=0,1,2,L 2
改进的Euler公式也称为梯形公式,它是一种隐式单步方法,不能直接求出yn+1,通常用迭代法进行计算,其初始迭代值由显式Euler公式提供,从而得到下述迭代公式:
(0) yn=yn+hf(xn,yn) +1
(k+1)h(k)
yn+1=yn+[f(xn,yn)+f(xn+1,yn+1)]k=0,1,2,L
2
可以证明,只要步长满足h<
L
(其中为L李普希兹常数),上述迭代公式就收敛于yn+1。2
该迭代方法的缺陷是每计算一个点,都需要反复迭代。为了减少迭代次数,减少工作量,每计算一个点,只让它迭代一次,从而得到Euler预报—校正公式:
(0) yn=yn+hf(xn,yn) +1 h(0)yyfxyfxy=++[(,)(, n+1nnnn+1n+1)] 2
n=0,1,2,L
(3)局部截断误差和整体截断误差
单步法的一般形式:yn+1=yn+hφ(xn,yn,yn+1,h)
n=0,1,2,L,其中φ与f有关,
称之为增量函数。如果φ中含有yn+1,方法称为隐式的;如果φ中不含有yn+1,方法称为显式的,通常记为yn+1=yn+hφ(xn,yn,h)
n=0,1,2,L。
定义1 对于初值问题(*),称en=y(xn) yn为某一方法的整体截断误差。它与前面各步的误差有关。
定义2 对于初值问题(*),假设yn是精确的,用某种方法求yn+1时所产生的截断误差称为该方法的局部截断误差,通常记为Tn+1。因此,局部截断误差Tn+1可以理解为以前各步没


