- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第六章 常微分方程数值解 /* 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 (常数)。 §2 欧拉方法 /* Euler’s Method */ ? 欧拉公式: x0 x1 向前差商近似导数 记为 定义 在假设 yi = y(xi),即第 i 步计算是精确的前提下,考虑的截断误差 Ri = y(xi+1) ? yi+1 称为局部截断误差 /* local truncation error */。 定义 若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。 ? 欧拉法的局部截断误差: 欧拉法具有 1 阶精度。 ? 欧拉公式的改进: ? 隐式欧拉法 /* 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 … ? 梯形公式 /* trapezoid formula */ — 显、隐式两种算法的平均 注:的确有局部截断误差 , 即梯形公式具有2 阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,计算时不得不用到迭代法,其迭代收敛性与欧拉公式相似。 ? 改进欧拉法 /* modified Euler’s method */ Step 1: 先用显式欧拉公式作预测,算出 ) , ( 1 i i i i y x f h y y + = + Step 2: 再将 代入隐式梯形公式的右边作校正,得到 1 + i y )] , ( ) , ( [ 2 1 1 1 + + + + + = i i i i i i y x f y x f h y y 注:此法亦称为预测-校正法 /* predictor-corrector method */。可以证明该算法具有 2 阶精度,同时可以看到它是个单步递推格式,比隐式公式的迭代求解过程简单。后面将看到,它的稳定性高于显式欧拉法。 §3 龙格 - 库塔法 /* Runge-Kutta Method */ 建立高精度的单步递推格式。 单步递推法的基本思想是从 ( xi , yi ) 点出发,以某一斜率沿直线达到 ( xi+1 , yi+1 ) 点。欧拉法及其各种变形所能达到的最高精度为2阶。 ? 考察改进的欧拉法,可以将其改写为: 斜率 一定取K1 K2 的平均值吗? 步长一定是一个h 吗? 首先希望能确定系数 ?1、?2、p,使得到的算法格式有2阶精度,即在 的前提假设下,使得 Step 1: 将 K2 在 ( xi , yi ) 点作 Taylor 展开 将改进欧拉法推广为: ) , ( ) , ( ] [ 1 2 1 2 2 1 1 1 phK y ph x f K y x f K K K h y y i i i i i i + + = = + + = + l l Step 2: 将 K2 代入第1式,得到 Step 3: 将 yi+1 与
文档评论(0)