专栏首页数值分析与有限元编程数值微分|理查森外推法

数值微分|理查森外推法

理查森外推法( Richardson extrapolation)是一种提高某些数值过程精度的简单方法,在数值方法中广泛应用。

对于

f^{\prime}(x) = \frac{f(x+h)-f(x-h)}{2h}-\frac{h^2}{6}f^{\prime\prime\prime}(x)+\cdots \qquad(1)
f^{\prime\prime}(x) = \frac{f(x+h)-2f(x)+f(x-h)}{h^2}-\frac{h^2}{12}f^{(4)}(x)+\cdots \qquad(2)

等公式可将其抽象概括为

G = g(h) + E(h) \qquad(3)

其中

G

为待求数值,结果依赖于参数

h

g(h)

表示

G

的近似值,

E(h)

是误差。

E(h)=ch^p

,现在令

h = h_1

开始计算

G
G = g(h_1) + ch_1^p \qquad(4)

h = h_2
G = g(h_2) + ch_2^p \qquad(5)

由(4)(5)消去

c
G= \frac{(h_1/h_2)^pg(h_2)-g(h_1)}{(h_1/h_2)^p-1} \qquad(6)

(6)就是理查森外推公式,通常做法是

h_2=h_1/2
G= \frac{2^pg(h_1/2)-g(h_1)}{2^p-1} \qquad(7)

[算例1] 根据下表用理查森外推公式来求

f^{\prime}(0)
h=0.1和h=0.2

分别用二阶向前差分公式求

f^{\prime}(0)

的近似值

g(0.1)和g(0.2)
g(0.1)= \frac{−3f(0) + 4f(0.1) − f(0.2)}{2(0.1)}= 0.8918
g(0.2)= \frac{−3f(0) + 4f(0.2) − f(0.4)}{2(0.2)}= 0.9675

有限差分法的误差

E(h)=c_1h^2 +c_2h^4 +c_3h^6 + \cdots

,用理查森外推法消除产生误差的主项

c_1h^2
f^{\prime}(0) \approx G=\frac{2^2g(0.1)-g(0.2)}{2^2-1} = 0.9927

结果的误差是

O(h^4)

[算例2] 用理查森外推公式来求

e^{-x}

x=1

处的二阶导数。取不同的h值,用中心差分法计算如下

精度为

10^{-6}

时,

g(0.64) = 0.380610 ,g(0.32) = 0.371035

(g是近似值)。

取p = 2,h_1 = 0.64

可得到

G=\frac{2^2g(0.32)-g(0.64)}{2^2-1} = 0.367843

它与表中的精度为

10^{-8}

时计算所获得的最佳结果一样。此处参见前文

数值微分|有限差分法的误差分析

本文分享自微信公众号 - 数值分析与有限元编程(program_fem),作者:苦丁茶123

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Word2019插入LaTex编码的公式

    Word文档通过MathType来输入公式。但使用MathType输入公式也有其局限:采用点击法输入速度不够快;当与他人共享含有MathType公式的doc文档...

    fem178
  • 复制公式的利器-Mathpix Snipping

    理工科论文中使用数学公式非常多,本来想着在mathtype中一点一点敲数学公式,公式比较少还可以接受,公式多的话会浪费很长时间,我也深受其困扰,故决定想办法克服...

    fem178
  • 有限元 | 二次样条梁单元

    样条梁单元是样条函数与有限元法相结合的产物。有限元法将结构分割成若干单元,位移场采用分段插值或者分区插值。常用的插值方法有Lagrange插值,Hermite插...

    fem178
  • 用过XA分布式事务吗?

    下图说明了一个DTP系统的本地实例,其中AP调用TM来构造事务。这些框表示X/Open DTP模型中的软件组件。箭头指示控制流的方向。

    普通程序员
  • 用过XA分布式事务吗?

    下图说明了一个DTP系统的本地实例,其中AP调用TM来构造事务。这些框表示X/Open DTP模型中的软件组件。箭头指示控制流的方向。

    Criss@陈磊
  • 终于有人把分布式事务说清楚了!

    这篇文章将给大家介绍一下对分布式事务的一些见解,并讲解分布式事务处理框架 TX-LCN 的执行原理,错误之处望各位不吝指正。

    程序员追风
  • Redis事务深入解析和使用

    事务指的是提供一种将多个命令打包,一次性按顺序地执行的机制,并且保证服务器只有在执行完事务中的所有命令后,才会继续处理此客户端的其他命令。 事务也是其他关系型...

    Java中文社群-磊哥
  • Linux常用命令——压缩解压命令

    喝茶去
  • 使用Vmware虚拟机部署开发环境之Mac OS X系统安装

    一、使用VMware虚拟机部署Mac开发环境所需工具: Vmware Workstation 14.0虚拟机软件 VM安装Mac解锁工具Unlock 苹...

    企鹅号小编
  • 框架源码调试实战之easypoi异常解决方案精讲

    最近有个同事遇到了个棘手的问题,easypoi导出文件出了bug,却不知道是怎么回事,无从下手,无可奈何,由于事态紧急,只能火急火急的求助于我。我问他...

    Java深度编程

扫码关注云+社区

领取腾讯云代金券