数值分析第九章第一页,共 69 页。第九章 常微分方程的数值解一、 Euler 方法三、 单步法的收敛性和稳定性二、 Runge-Kutta 方法四、 线性多步法第二页,共 69 页。很多科学技术和工程问题常用常微分方程的形式建立数学模型 .但是对于绝大多数的微分方程问题,很难或者根本不可能得到它的解析解 . 本章重点考察一阶方程的初值问题00( , )()dyf x ydxy xy的数值解法,就是寻求解 y(x) 在一系列离散点01mxxxx处的近似值 的方法 .01,,,myyy相邻两个节点间的距离 称为步长 .1nnhxx第三页,共 69 页。一、 Euler 方法1 欧拉公式由初值条件 表示积分曲线从00()y xy000(,)P xy出发,并在 处的切线斜率为000(,)P xy00(,)f xy因此可以设想积分曲线在 x=x0 附近可以用切线近似的代替曲线 . 切线方程为000()()yyy xxx0000(,)()yf xyxx当 x=x1 时,代入有1000(,)yyhf xy这样得到 y(x1) 的近似值 y1 的方法 .第四页,共 69 页。重复上述方法,当 x=x2 时2111(,)yyhf xy依次可以计算出 x3, x4, … 处的近似值 y3, y4, …由此得到 Euler 公式:1(,)nnnnyyhf xy 由于用折线近似代替方程的解析解,所以 Euler 方法也称为 Euler 折线法 .例 用 Euler 法计算初值问题的解在 x=0.3 时的近似值,取步长 h=0.1 .22100(0)0 yxyy第五页,共 69 页。解:1(0.1)yy000(,)yhf xy2200.1((0)100(0) ) 02(0.2)yy111(,)yhf xy2200.1((0.1)100(0) ) 0.0013(0.2)yy222(,)yhf xy2200.1((0.2)100(0.001) ) 0.005Euler 公式的截断误差局部截断误差:一步 Euler 公式产生的误差 ;总体截断误差: Euler 公式的累积总误差 ;第六页,共 69 页。 在假设 yn = y(xn) ,即第 i 步计算是精确的前提下,考虑的截断误差 Rn = y(xn+1) yn+1 称为局部截断误差 .定义欧拉法的局部截断误差:231112()[ ()()()()] [ ()(, ())]hnnnnnnnnnTy xyy xhy xyxO hy xhf xy x2322()()()hnyxO hO h所以欧拉法具有 1 阶精度 . 若某算法的局部截断误差为 O(hp+1) ,则称该算法有 p 阶精度 .定义第七页,共 69 页。Lipschitiz 条件:若存在正数 L, 使得对一切x, y1, y2 有1212|( ,)( ,) |...