文档详情

南大数值分析课件第九章常微分方程数值解-公开课件(讲义).ppt

发布:2019-10-07约6.64千字共19页下载文档
文本预览下载声明
第九章 常微分方程数值解 /* Numerical Methods for Ordinary Differential Equations */ ? 考虑一阶常微分方程的初值问题 /* Initial-Value Problem */: 只要 f (x, y) 在[a, b] ? R1 上连续,且关于 y 满足 Lipschitz 条件,即存在与 x, y 无关的常数 L 使 对任意定义在 [a, b] 上的 y1(x) 和 y2(x) 都成立,则上述IVP存在唯一解。 要计算出解函数 y(x) 在一系列节点 a = x0 x1… xn= b 处的近似值 节点间距 为步长,通常采用等距节点,即取 hi = h (常数)。 §1 欧拉方法 /* Euler’s Method */ ? 欧拉公式: x0 x1 向前差商近似导数 记为 定义    在假设 yi = y(xi),即第 i 步计算是精确的前提下,考虑的截断误差 Ri = y(xi+1) ? yi+1 称为局部截断误差 /* local truncation error */。 定义    若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。 ? 欧拉法的局部截断误差: 欧拉法具有 1 阶精度。 Ri 的主项 /* leading term */ 亦称为欧拉折线法 /* Euler’s polygonal arc method*/ §1 Euler’s Method ? 欧拉公式的改进: ? 隐式欧拉法 /* implicit Euler method */ 向后差商近似导数 x0 x1 )) ( , ( ) ( 1 1 0 1 x y x f h y x y + ? ) 1 , ... , 0 ( ) , ( 1 1 1 - = + = + + + n i y x f h y y i i i i 由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故称为隐式 /* implicit */ 欧拉公式,而前者称为显式 /* explicit */ 欧拉公式。 一般先用显式计算一个初值,再迭代求解。 ? 隐式欧拉法的局部截断误差: 即隐式欧拉公式具有 1 阶精度。 Hey! Isn’t the leading term of the local truncation error of Euler’s method ? Seems that we can make a good use of it … §1 Euler’s Method ? 梯形公式 /* trapezoid formula */ — 显、隐式两种算法的平均 注:的确有局部截断误差 , 即梯形公式具有2 阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,计算时不得不用到迭代法,其迭代收敛性与欧拉公式相似。 ? 中点欧拉公式 /* midpoint formula */ 中心差商近似导数 x0 x2 x1 假设 ,则可以导出 即中点公式具有 2 阶精度。 需要2个初值 y0和 y1来启动递推 过程,这样的算法称为双步法 /* double-step method */,而前面的三种算法都是单步法 /* single-step method */。 方 法 ? ? §1 Euler’s Method 显式欧拉 隐式欧拉 梯形公式 中点公式 简单 精度低 稳定性最好 精度低, 计算量大 精度提高 计算量大 精度提高, 显式 多一个初值, 可能影响精度 Can’t you give me a formula with all the advantages yet without any of the disadvantages? Do you think it possible? Well, call me greedy… OK, let’s make it possible. ? 改进欧拉法 /* modified Euler’s method */ Step 1: 先用显式欧拉公式作预测,算出 ) , ( 1 i i i i y x f h y y + = + Step 2: 再将 代入隐式梯形公式的右边作校正,得到 1 + i y )] , ( ) ,
显示全部
相似文档