计算方法教学课件第七章常微分方程数值解.ppt

计算方法教学课件第七章常微分方程数值解.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上述两组公式在形式上有一个共同点:都是用f(x,y)在某些点上值的线性组合得出y(xi+1)的近似值yi+1,而且增加计算的次数f(x,y)的次数,可提高截断误差的阶。如欧拉公式:每步计算一次f(x,y)的值,为一阶方法。改进欧拉公式需计算两次f(x,y)的值,它是二阶方法。它的局部截断误差为 。 于是可考虑用函数f(x,y)在若干点上的函数值的线性组合来构造近似公式,构造时要求近似公式在(xi,yi)处的Taylor展开式与解y(x)在xi处的Taylor展开式的前面几项重合,从而使近似公式达到所需要的阶数。既避免求偏导,又提高了计算方法精度的阶数。或者说,在 这一步内多预报几个点的斜率值,然后将其加权平均作为平均斜率,则可构造出更高精度的计算格式,这就是龙格—库塔(Runge-Kutta)法的基本思想。 7.4.2 二阶龙格—库塔法 在 上取两点xi和 ,以该两点处的斜率值k1和k2的加权平均(或称为线性组合)来求取平均斜率k*的近似值K,即 式中:k1为xi点处的切线斜率值, k2为 点处的切线斜率值,比照改进的欧拉法,将 视为 ,即可得 对常微分方程初值问题(7.1)式的解 y=y(x),根据微分中值定理,存在点 ,使得 式中 K可看作是y=y(x)在区间 上的平均斜率。所以可得计算公式为: (7.14) 将y(xi)在x=xi处进行二阶Taylor展开: (7.15) 也即 (7.13) 将 在x=xi处进行一阶Taylor展开: 将以上结果代入(7.14)得: (7.16) 对式(7.15)和(7.16)进行比较系数后可知,只要 (7.17) 成立,格式(7.14)的局部截断误差就等于 有2阶 精度 式(7.17)中具有三个未知量,但只有两个方程,因而有无穷多解。若取 ,则p=1,这是无穷多解中的一个解,将以上所解的值代入式(7.14)并改写可得 不难发现,上面的格式就是改进的欧拉格式。凡满足条件式(7.17)有一簇形如上式的计算格式,这些格式统称为二阶龙格—库塔格式。因此改进的欧拉格式是众多的二阶龙格—库塔法中的一种特殊格式。 若取 ,则 ,此时二阶龙格-库塔 法的计算公式为 此计算公式称为变形的二阶龙格—库塔法。式中 为区间 的中点。 7.4.3 三阶龙格-库塔法 为了进一步提高精度,设除 外再增加一点 并用三个点 , , 的斜率k1,k2,k3加权平均 得出平均斜率k*的近似值,这时计算格式具有形式: (7.18) 为了预报点 的斜率值k3,在区间 内有两 个斜率值k1和k2可以用,可将k1,k2加权平均得出 上的平均斜率,从而得到 的预报值 于是可得 运用Taylor展开方法选择参数 ,可以使格式(7.18)的局部截断误差为 ,即具有三阶精度,这类格式统称为三阶龙格—库塔方法。下列是其中的一种,称为库塔(Kutta)公式。 (7.19) 7.4.4 四阶龙格—库塔法 如果需要再提高精度,用类似上述的处理方法,只需在区间 上用四个点处的斜率加权平均作为平均斜率k*的近似值,构成一系列四阶龙格—库塔公式。具有四阶精度,即局部截断误差是 。 由于推导复杂,这里从略,只介绍最常用的一种四阶经典龙格—库塔公式。 (7.20) 7.4.5 四阶龙格—库塔法算法实现 (1)?计算步骤 ① 输入 ,h,N ② 使用龙格—库塔公式(7.20)计算出y1 ③ 输出 ,并使 转到 ② 直至n > N 结束。 (2) 四阶龙格—库塔算法流程图 程序实现(见附录A A-16 四阶龙格-库塔法计 算常微分方程初值问题) 例7.4 取步长h=0.2,用经典格式求解初值问题 解: 由四阶龙格-库塔公式可得 可同样进行其余yi的计算。本例方程的解为 ,数值解yi与准确解y(xi)的对照表见教材P163所示,从表中看到所求的数值解具有4位有效数字。 龙格—库塔方法的推导基于Taylor展开方法,因而它要求所求的解具有较好的光滑性。如果解的光滑性差,那么,使用四阶龙格—库塔方法求得的数值解,其精度可能反而不如改进的欧拉方法。在实际计算时,应当针对问

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档