前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数值微分|理查森外推法

数值微分|理查森外推法

作者头像
fem178
发布2020-09-10 16:23:43
4.1K0
发布2020-09-10 16:23:43
举报

理查森外推法( 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}

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档