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