Ch11-数值计算方法之数值微分和外推方法.pptVIP

Ch11-数值计算方法之数值微分和外推方法.ppt

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

第11章: 数值微分与外推方法 设f(x)是[x0-h, x0+h]上连续可微的实函数,数值微分就是直接利用计算f(x)的程序来计算f(x)在x0处的导数值。 对于工程应用来说,数值微分还是非常重要的: 如果函数是用列表的方式给出的,如果函数不是初等函数,这时我们只能用数值微分方法求导数值。 为了争夺市场,现在的软件商更喜欢开发所谓傻瓜软件,这种软件不能要求用户给出一个函数的导函数。 直接采用数值微分方法可使相关的软件开发简单一些。 现在的计算工具也为我们求数值微分提供了极大的方便,主要是计算时间和数值稳定性都得到明显改善,从而提升了的数值微分的实用价值。 11.1 利用差商外推加速 求数值微分的方法还是比较多的,当我们强烈推荐的方法是外推加速方法,基本步骤是: 构造一个与步长有关的近似公式; 构造一个步长收敛于零的变步长序列; 利用变步长序列外推,得到一个加速收敛序列。 利用外推方法加速的优点是: 尽管理论上有一定的高度,但学习起来并不困难,而编程方法特别简单; 方法具有通用性,在后面求数值积分和常微分方程数值解都用到了这种方法,也收到显著效果; 外推方法的效果特别好,在几乎不增加计算量的同时,可以大幅度提升计算结果的精度。 1.利用差商替代微商 计算公式 假设f(x)是[x0-h, x0+h]上连续可微的实函数,当h的值充分小时,我们用f(x)在x0, x0+h处的一阶差商f[x0,x0+h]作为f’(x0)的近似值,从而得到一个与步长h有关的近似公式 1.利用差商替代微商 估计截断误差 记f[x0,x0+h]为f(x)在x0,x0+h处的差商,在上面的(1)式中,把f(x0+h)在x0处一阶泰勒展开,简单处理后后即可得到 |f ’(x0)-f[x0,x0+h]|=O(h) 定义:如果一个关于微小增量h的近似公式的截断误差与hk成正比,则称该公式具有k阶精度。 结论 上面的(1)式具有1阶精度。 2.利用变步长方法提高精度 构造一个单调收敛于零的步长序列进行计算 对于给定的初始步长h00,我们可以令 hk=hk-1/2 ,k=1,2,… 即可简单地得到一个步长序列,相应地得到一个导数的近似值序列 Zk=f[x0,x0+hk], k=0,1,… 基本结论 从理论上讲,当k→∞时,我们有hk→0,从而zk收敛于f ’(x0)。 一般的实际情况是,首先当k增大时,截断误差会显著减小,到一定程度后,舍入误差又会显著增大,所以存在临界的k值。 2.利用变步长方法提高精度 确定停机规则 利用一个循环结构计算序列{(hk,zk)|k=0,1,…}当然是一件很容易的事情,但确定停机规则需要慎重。 根据实际精度要求来决定是否停机。事先确定充分小的正数EPS,只要某个|zk+1-zk|EPS即停止计算。如果EPS太小,有可能永远达不到精度要求。 根据最好的结果停机。如果永远达不到精度要求,我们也可以力争得到最好的结果,也就是发现|zk+1-zk|开始随k的增大而增大时,停止进一步的计算。 也可以综合上面两条规格而形成一个综合性的规则。 3.利用外推方法加速收敛 问题的提法 对于前面变步长方法得到的序列{(hk,zk)|k=0,1,…},我们可以把他们看成是自变量为h的函数 z=f[x0,x0+h] 的函数值列表,从而可以从中取出若干对数据作插值多项式p(h),进而得到当h=0时多项式的值。 虽然可以用Lagrange插值公式完成相应的计算,由于多项式但自变量为零时的值就是常数项,所以能够找到更好的计算方法。 由于我们是利用若干个hk0构造插值多项式来推算f[x0,x0+h]当h趋近于零时的极限值,而插值多项式中的h可以取零,所以是一种外推式的插值方法,亦即插值点在所有插值基点所在的最小区间的外边。 3.利用外推方法加速收敛 以抛物线插值微利说明处理方法 假设利用(hk,zk)、 (hk+1,zk+1)、 (hk+2,zk+2)作插值抛物线z=a0+a1h+a2h2,利用hk+1=hk/2,hk+2=hk/4,不难写出 由此解得 3.利用外推方法加速收敛 建立递推格式 在上面的(2)式中,可以把a0记为Ak+2,从而得到递推格式 3.利用外推方法加速收敛 编程与案例计算 利用上面的递推格式编程是很容易的,源代码可参看教材第305页程序11.01。 利用程序11.01求平方根函数在x0=4处的导数值得计算结果又下表给出,不难看到外推法的效果。 11.2 利用中心差商外推加速 利用中心差商外推加速与利用差商外推加速的基本思路完全相同,也采用三步走的方法: 构造计算导数的近似公式,其误差也是与步长h有关; 构造变步长序列,从而得到导数的近似值序列; 利用所得到的

文档评论(0)

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

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

1亿VIP精品文档

相关文档