噶米《常微分方程课程设计》指导书3.docxVIP

噶米《常微分方程课程设计》指导书3.docx

  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文档。上传文档
查看更多
第 3 章 数值算法之一:单步法 接下来的章节, 我们将详细讲解常微分方程的数值求解方法, 特别是编程实现方程的初值问题,这也将成为解决实际问题的必要基础和课程设计的主要内 容。 本章重点讲解一阶常微分方程的数值算法中 最简单的一类方法 :单步法。首先介绍 Euler 法、后退 Euler 法与梯形法, 并分析单步法的局部截断误差, 然后给出了改进的 Euler 法。 3.1 简单的单步法及基本概念 3.1.1 Euler 法、后退 Euler 法与梯形法 求初值问题 (1.2.1) 的一种最简单方法是将节点 xn 的导数 y ( xn ) 用差商 y( xn h) y( xn ) 代替,于是 (1.2.1) 的方程可近似写成 h (3.1.1) 从 出发 ,由 (3.1.1) 求得 再将 代入 (3.1.1) 右端,得到 的近似 ,一般写成 (3.1.2) 该数值解法称为 解微分方程初值问题的 Euler 法. Euler 法的几何意义如图 3-1 所示。初值问题 (1.2.1) 的解曲线 y=y(x) 过点 ,从 出发,以 为斜率作一段直线,与直线 交点于 , 显然有 ,再从 出发,以 为斜率作直线推进到 上 一点 ,其余类推,这样得到解曲线的一条近似曲线,它就是折线 . 图 3-1 Euler 法的几何意义显示 Euler 法也可利用 的 Taylor 展开式得到,由 (3.1.3) 略去余项,以 ,就得到近似计算公式 (3.1.2). 另外,还可对 (1.2.1) 的 方程两端由 到 积分得 (3.1.4) 若右端积分用左矩形公式,用 , ,则得 (3.1.2). 如果在 (3.1.4) 的积分中用右矩形公式,则得 (3.1.5) 该算法称为 后退 ( 隐式 )Euler 法。若在 (3.1.4) 的积分中用梯形公式,则得 (3.1.6) 该算法称为 梯形方法 。 上述三个公式 (3.1.2) ,(3.1.5) 及(3.1.6) 都是由 计算 ,这种只用前一 步即可算出 的公式,我们称之为单步法,其中 (3.1.2) 可由 逐次求出 的值,称为显式方法, 而(3.1.5) 及(3.1.6) 右端含有 当 f 对 y 非线性 时它不能直接求出 ,此时应把它看作一个方程, 求解 ,这类方法称为隐式 方法。此时可将 (3.1.5) 或(3.1.6) 写成不动点形式的方程 这里对式 (3.1.5) 有 ,对 (3.1.6) 则 , g 与 无关,可构造迭代法 (3.1.7) 由于 对 y 满足 Lipschitz 条件 (1.1.2) ,故有 当 或 ,迭代法 (3.1.7) 收敛到 ,因此只要步长 h 足够小,就 可保证迭代 (3.1.7) 收敛。对后退 Euler 法 (3.1.5) ,当 时迭代收敛,对梯 形法 (3.1.6) ,当 时迭代序列收敛。 例 3.1 用 Euler 法、隐式 Euler 法、梯形法解 取 h=0.1 ,计算到 x=0.5 ,并与精确解比较。 解 直接用给出公式计算。由于 , Euler 法的计算公式为 n=0 时, . 其余 n=1,2,3,4 的计算结果见表 3-1. 对隐式 Euler 法,计算公式为 解出 当 n=0 时, . 其余 n=1,2,3,4 的计算结果 见表 3-1. 表 3-1 例 3.1 的三种方法及精确解的计算结果 对梯形法,计算公式为 解得 当 n=0 时, . 其余 n=1,2,3,4 的计算结果见表 7-1. 本题的精确解为 ,表 3-1 列出三种方法及精确解的计算结果。 附:具体三种算法程序如下: 首先定义一阶方程右端函数 f 如下 function Y=f(x,y) Y=-y+x+1; (1)Euler  法 function  y = DEEuler(f, h,a,b,y0,varvec)%  这是 Euler  法的函数命令 %一阶常微分方程的一般表达式的右端函数: % 自变量下限 a ;上限 b  f  这里可用  f=inline % 函数初值 y0 % 积分步长 h % 常微分方程的变量组 varvec format long ;% 数据显示方式,不影响计算和存储方式, %是指小数点后 15 位数字表示 N = (b-a)/h; y = zeros(N+1,1); x = a:h:b; y(1) = y0; for i=2:N+1 y(i) = y(i-1)+h*Funval(f,varvec,[x(i-1), y(i-1)]); %简单 Euler 公式迭代, %本题单步法的格式为: y(i) = y(i-1)+h.*(-y(i-1)+x(i-1)+1); end format short ; 本题

文档评论(0)

182****5045 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档