变步长的龙格库塔法详解.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
变步长的龙格—库塔方法 公 式 * 7.4.6 变步长的龙格-库塔法 在微分方程的数值解中,选择适当的步长是非常重要的。单从每一步看,步长越小,截断误差就越小;但随着步长的缩小,在一定的求解区间内所要完成的步数就增加了。这样会引起计算量的增大,并且会引起舍入误差的大量积累与传播。因此微分方程数值解法也有选择步长的问题。 以经典的四阶龙格-库塔法(7.20)为例。从节点xi出发,先以h为步长求出一个近似值,记为 ,由于局部截断误差为 ,故有 当h值不大时,式中的系数c可近似地看作为常数。 然后将步长折半,即以为 步长,从节点xi出发,跨两步到节点xi+1,再求得一个近似值 ,每跨一步的截断误差是 ,因此有 这样 由此可得 这表明以 作为 的近似值,其误差可用步长折半前后两次计算结果的偏差 来判断所选步长是否适当 当要求的数值精度为ε时: (1)如果Δε,反复将步长折半进行计算,直至Δε为止,并取其最后一次步长的计算结果作为 (2)如果Δε,反复将步长加倍,直到Δε为止,并以上一次步长的计算结果作为 。 这种通过步长加倍或折半来处理步长的方法称为变步长法。表面上看,为了选择步长,每一步都要反复判断Δ,增加了计算工作量,但在方程的解y(x)变化剧烈的情况下,总的计算工作量得到减少,结果还是合算的。 其中?i ( i = 1, …, m ),?i ( i = 2, …, m ) 和 ?ij ( i = 2, …, m; j = 1, …, i?1 ) 均为待定系数,确定这些系数的步骤与前面相似。 §2 Runge-Kutta Method ) ... , ( ... ... ) , ( ) , ( ) , ( ] ... [ 1 1 2 2 1 1 2 32 1 31 3 3 1 21 2 2 1 2 2 1 1 1 - - + + + + + + = + + + = + + = = + + + + = m m m m m m i m i i i i i i m m i i hK hK hK y h x f K hK hK y h x f K hK y h x f K y x f K K K K h y y b b b a b b a b a l l l ? 高阶Runge—Kutta Method ? Gill公式:4阶经典龙格-库塔公式的一种改进 §2 Runge-Kutta Method ? 最常用为四级4阶经典龙格-库塔法 /* Classical Runge-Kutta Method */ : §2 Runge-Kutta Method 注: ? 龙格-库塔法的主要运算在于计算 Ki 的值,即计算 f 的值。Butcher 于1965年给出了计算量与可达到的最高精度阶数的关系: 7 5 3 可达到的最高精度 6 4 2 每步须算Ki 的个数 ? 由于龙格-库塔法的导出基于泰勒展开,故精度主要受解函数的光滑性影响。对于光滑性不太好的解,最好采用低阶算法而将步长h 取小。 *

文档评论(0)

风凰传奇 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档