chapt-7 常微分方程数值解法new.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chapt-7 常微分方程数值解法new.ppt

第7章 常微分方程及方程组的数值解法 常微分方程的定解问题一般分为初值问题和边值问题,而边值问题常常可以化为初值问题来求解,所以本章只讨论初值问题。 设在X—Y平面有: 当 求 。 在工程问题中,只有极少有解析解,大多数只能求数值解。即在区域: 求y(xi)的近似解: 。 §7.1 常微分方程的数值法 本节研究常用的数值方法。先说明几个符号的含义: 一、Taylor级数展开法 把yi+1在yi处展开成Taylor级数,则有 因为 所以 O(h2)为h2的同阶无穷小,略去高阶项得如下的近似关系: §7.1 常微分方程的数值法 这就是常微分方程数值解法中的向前欧拉(Euler)公式。 二、数值微分法 这种方法就是利用差商近似代替导数,即 §7.1 常微分方程的数值法 略去二阶导数项,用 代替 ,得 利用它们求问题(7-1)式数值的方法,分别称为欧拉(Euler)法,后退欧拉法,中点法。 三、数值积分法 将(7-1)式在区间 内积分得 §7.1 常微分方程的数值法 对上式右端的积分使用左端矩形积分公式,则有: 于是(7-1)式的数值解法 但如果上式右端的积分使用的是梯形积分公式,则有 从而(7-1)式的数值解法也改为 这就是改进的欧拉公式。 §7.1 常微分方程的数值法 四、几个基本概念 (1)单步法:总是由前一点yi推算后一点yi+1,只需要一个点的值。除此之外,还有多步法,如Adams法。 (2)显示法:yi+1只出现等式一边。若同时出现在右边,则为隐式法。 (3)截项误差: 当h趋于零时,它是h2的同阶无穷小,(7-2-1)误差阶数为2。如果y(x)是一次式,则O(h2)?0,此时欧拉法是精确的(直线逼近直线),同时也说明欧拉法是一阶代数精度。 §7.2 一阶常微分方程的数值法 让我们研究(7-1)式形式的一阶常微分方程的数值求解方法。 7.2.1 欧拉折线法 一、算法分析 二、几何意义 参见图7-1中的折线f01f11f21f31,欧拉折线法命名由此而来。容易看出,欧拉折线法的数值解离理论曲线越来越远。折线f01f11f21f31为后面要讨论的欧拉二次法。 §7.2 一阶常微分方程的数值法 §7.2 一阶常微分方程的数值法 三、通用程序框图与程序设计 §7.2 一阶常微分方程的数值法 10 subroutine euler(a,b,n,y0,y) 20 x0=a 30 h=(b-a)/(n+1) 40 do i=1,n+1 50 x=x0+h 60 y=y0+h*f(x0,y0) 70 x0=x;y0=y 80 end do 90 end subroutine euler §7.2 一阶常微分方程的数值法 7.2.2 改进的欧拉折线法(梯形法) 一、算法分析 在欧拉法中,泰勒级数是取前两项。下面看看取三项时是什么样子。 为了求yi+1,在yi处进行泰勒级数展开。依据前面所讲的,可以写成: 因为 所以 §7.2 一阶常微分方程的数值法 这就是欧拉二次逼近法的递推式,其局部误差为O(h3)。可见,比欧拉法精度高(隐式)。在上式中,等号的右边也含有yi+1, 要出yi+1一般要用迭代法。为了简便,用欧拉法先求出y*i+1,作为yi+1的预报值。于是,欧拉二次逼近法的算法可表示为: 二、通用程序框图与程序设计 §7.2 一阶常微分方程的数值法 §7.2 一阶常微分方程的数值法 10 subroutine meuler(a,b,n,y0,y) 20 x0=a;y=y0 30 h=(b-a)/(n+1) 40 do i=1,n+1 50 x=x0+h 60 y1=y0+h*f(x0,y0) 70 y=y0+h*(f(x0,y0)+f(x,y1))/2 70 x0=x;y0=y 80 end do 90 end subroutine meuler §7.2 一阶常微分方程的数值法 7.2.2 Runge-Kutta方法 一、算法分析 一阶常微分初值问题的求解,在小区间上归结为如何选择去逼近该区间曲线的直线。如果直线已经确定,已知yi,就很容易求出yi+1。依据Lagrange微分中值定理,有: 其中,h=xi+1-xi; 0?1。同时有 y’(xi+?h)=f(x,y)=f(xi+?h,y(xi+?h)),这就是曲线y=y(x)在x

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档