计算一阶导数的四阶中心差分格式

在这里插入图片描述

本文地址:https://goodgoodstudy.blog.csdn.net/article/details/112008150

在这里插入图片描述

原理:利用指定点 y t y_t yt 周围的四个点 ( y t − 2 , y t − 1 , y t + 2 , y t + 2 ) (y_{t-2}, y_{t-1}, y_{t+2},y_{t+2}) (yt2,yt1,yt+2,yt+2)构造 拉格朗日插值曲线
y ( x ) = y t − 2 ( x − x t − 1 ) ( x − x t + 1 ) ( x − x t + 2 ) ( x t − 2 − x t − 1 ) ( x t − 2 − x t + 1 ) ( x t − 2 − x t + 2 ) + y t − 1 ( x − x t − 2 ) ( x − x t + 1 ) ( x − x t + 2 ) ( x t − 1 − x t − 2 ) ( x t − 1 − x t + 1 ) ( x t − 1 − x t + 2 ) + y t + 1 ( x − x t − 2 ) ( x − x t − 1 ) ( x − x t + 2 ) ( x t + 1 − x t − 2 ) ( x t + 1 − x t − 1 ) ( x t + 1 − x t + 2 ) + y t + 2 ( x − x t − 2 ) ( x − x t − 1 ) ( x − x t + 1 ) ( x t + 2 − x t − 2 ) ( x t + 2 − x t − 1 ) ( x t + 2 − x t + 1 ) \begin{aligned} y(x) =& y_{t-2}\frac{(x-x_{t-1})(x-x_{t+1})(x-x_{t+2})}{(x_{t-2}-x_{t-1})(x_{t-2}-x_{t+1})(x_{t-2}-x_{t+2})} \\ \\ &+y_{t-1}\frac{(x-x_{t-2})(x-x_{t+1})(x-x_{t+2})}{(x_{t-1}-x_{t-2})(x_{t-1}-x_{t+1})(x_{t-1}-x_{t+2})} \\ \\ &+y_{t+1}\frac{(x-x_{t-2})(x-x_{t-1})(x-x_{t+2})}{(x_{t+1}-x_{t-2})(x_{t+1}-x_{t-1})(x_{t+1}-x_{t+2})} \\ \\ &+y_{t+2}\frac{(x-x_{t-2})(x-x_{t-1})(x-x_{t+1})}{(x_{t+2}-x_{t-2})(x_{t+2}-x_{t-1})(x_{t+2}-x_{t+1})} \end{aligned} y(x)=yt2(xt2xt1)(xt2xt+1)(xt2xt+2)(xxt1)(xxt+1)(xxt+2)+yt1(xt1xt2)(xt1xt+1)(xt1xt+2)(xxt2)(xxt+1)(xxt+2)+yt+1(xt+1xt2)(xt+1xt1)(xt+1xt+2)(xxt2)(xxt1)(xxt+2)+yt+2(xt+2xt2)(xt+2xt1)(xt+2xt+1)(xxt2)(xxt1)(xxt+1)

分母是可以直接写出来的,记 h ≡ x t − x t − 1 h \equiv x_t - x_{t-1} hxtxt1 为自变量间隔:
y ( x ) = y t − 2 ( x − x t − 1 ) ( x − x t + 1 ) ( x − x t + 2 ) ( − h ) ( − 3 h ) ( − 4 h ) + y t − 1 ( x − x t − 2 ) ( x − x t + 1 ) ( x − x t + 2 ) ( h ) ( − 2 h ) ( − 3 h ) + y t + 1 ( x − x t − 2 ) ( x − x t − 1 ) ( x − x t + 2 ) ( 3 h ) ( 2 h ) ( − h ) + y t + 2 ( x − x t − 2 ) ( x − x t − 1 ) ( x − x t + 1 ) ( 4 h ) ( 3 h ) ( h ) = [ − y t − 2 ( x − x t − 1 ) ( x − x t + 1 ) ( x − x t + 2 ) + 2 y t − 1 ( x − x t − 2 ) ( x − x t + 1 ) ( x − x t + 2 ) − 2 y t + 1 ( x − x t − 2 ) ( x − x t − 1 ) ( x − x t + 2 ) + y t + 2 ( x − x t − 2 ) ( x − x t − 1 ) ( x − x t + 1 ) ] 1 12 h 3 \begin{aligned} y(x) =& y_{t-2}\frac{(x-x_{t-1})(x-x_{t+1})(x-x_{t+2})}{(-h)(-3h)(-4h)} \\\\ &+y_{t-1}\frac{(x-x_{t-2})(x-x_{t+1})(x-x_{t+2})}{(h)(-2h)(-3h)} \\ \\ &+y_{t+1}\frac{(x-x_{t-2})(x-x_{t-1})(x-x_{t+2})}{(3h)(2h)(-h)} \\ \\ &+y_{t+2}\frac{(x-x_{t-2})(x-x_{t-1})(x-x_{t+1})}{(4h)(3h)(h)} \\\\ =&[ -y_{t-2}(x-x_{t-1})(x-x_{t+1})(x-x_{t+2})\\ & + 2y_{t-1}(x-x_{t-2})(x-x_{t+1})(x-x_{t+2})\\ & -2y_{t+1}(x-x_{t-2})(x-x_{t-1})(x-x_{t+2})\\ & + y_{t+2}(x-x_{t-2})(x-x_{t-1})(x-x_{t+1}) ]\frac{1}{12h^3} \end{aligned} y(x)==yt2(h)(3h)(4h)(xxt1)(xxt+1)(xxt+2)+yt1(h)(2h)(3h)(xxt2)(xxt+1)(xxt+2)+yt+1(3h)(2h)(h)(xxt2)(xxt1)(xxt+2)+yt+2(4h)(3h)(h)(xxt2)(xxt1)(xxt+1)[yt2(xxt1)(xxt+1)(xxt+2)+2yt1(xxt2)(xxt+1)(xxt+2)2yt+1(xxt2)(xxt1)(xxt+2)+yt+2(xxt2)(xxt1)(xxt+1)]12h31

接下来就是求该三次函数在 x t x_t xt 处的导数 y ′ ( x t ) y'(x_{t}) y(xt)
y ′ ( x ) = { − y t − 2 [ ( x − x t + 1 ) ( x − x t + 2 ) + ( x − x t − 1 ) ( x − x t + 2 ) + ( x − x t − 1 ) ( x − x t + 1 ) ] + 2 y t − 1 [ ( x − x t + 1 ) ( x − x t + 2 ) + ( x − x t − 2 ) ( x − x t + 2 ) + ( x − x t − 2 ) ( x − x t + 1 ) ] − 2 y t + 1 [ ( x − x t − 1 ) ( x − x t + 2 ) + ( x − x t − 2 ) ( x − x t + 2 ) + ( x − x t − 2 ) ( x − x t − 1 ) ] + y t + 2 [ ( x − x t − 1 ) ( x − x t + 1 ) + ( x − x t − 2 ) ( x − x t + 1 ) + ( x − x t − 2 ) ( x − x t − 1 ) ] } 1 12 h 3 \begin{aligned} y'(x) =& \{ -y_{t-2}[(x-x_{t+1})(x-x_{t+2})+(x-x_{t-1})(x-x_{t+2})+(x-x_{t-1})(x-x_{t+1})]\\ \\ & + 2y_{t-1}[(x-x_{t+1})(x-x_{t+2})+(x-x_{t-2})(x-x_{t+2})+(x-x_{t-2})(x-x_{t+1})]\\ \\ & -2y_{t+1}[(x-x_{t-1})(x-x_{t+2})+(x-x_{t-2})(x-x_{t+2})+(x-x_{t-2})(x-x_{t-1})]\\ \\ & + y_{t+2}[(x-x_{t-1})(x-x_{t+1})+(x-x_{t-2})(x-x_{t+1})+(x-x_{t-2})(x-x_{t-1})] \}\frac{1}{12h^3} \end{aligned} y(x)={yt2[(xxt+1)(xxt+2)+(xxt1)(xxt+2)+(xxt1)(xxt+1)]+2yt1[(xxt+1)(xxt+2)+(xxt2)(xxt+2)+(xxt2)(xxt+1)]2yt+1[(xxt1)(xxt+2)+(xxt2)(xxt+2)+(xxt2)(xxt1)]+yt+2[(xxt1)(xxt+1)+(xxt2)(xxt+1)+(xxt2)(xxt1)]}12h31
所以
y ′ ( x t ) = { − y t − 2 [ ( x t − x t + 1 ) ( x t − x t + 2 ) + ( x t − x t − 1 ) ( x t − x t + 2 ) + ( x t − x t − 1 ) ( x t − x t + 1 ) ] + 2 y t − 1 [ ( x t − x t + 1 ) ( x t − x t + 2 ) + ( x t − x t − 2 ) ( x t − x t + 2 ) + ( x t − x t − 2 ) ( x t − x t + 1 ) ] − 2 y t + 1 [ ( x t − x t − 1 ) ( x t − x t + 2 ) + ( x t − x t − 2 ) ( x t − x t + 2 ) + ( x t − x t − 2 ) ( x t − x t − 1 ) ] + y t + 2 [ ( x t − x t − 1 ) ( x t − x t + 1 ) + ( x t − x t − 2 ) ( x t − x t + 1 ) + ( x t − x t − 2 ) ( x t − x t − 1 ) ] } 1 12 h 3 = { − y t − 2 [ ( − h ) ( − 2 h ) + ( h ) ( − 2 h ) + ( h ) ( − h ) ] + 2 y t − 1 [ ( − h ) ( − 2 h ) + ( 2 h ) ( − 2 h ) + ( 2 h ) ( − h ) ] − 2 y t + 1 [ ( h ) ( − 2 h ) + ( 2 h ) ( − 2 h ) + ( 2 h ) ( h ) ] + y t + 2 [ ( h ) ( − h ) + ( 2 h ) ( − h ) + ( 2 h ) ( h ) ] } 1 12 h 3 = ( y t − 2 − 8 y t − 1 + 8 y t + 1 − y t + 2 ) 1 12 h \begin{aligned} y'(x_t) =& \{ -y_{t-2}[(x_t-x_{t+1})(x_t-x_{t+2})+(x_t-x_{t-1})(x_t-x_{t+2})+(x_t-x_{t-1})(x_t-x_{t+1})]\\ \\ & + 2y_{t-1}[(x_t-x_{t+1})(x_t-x_{t+2})+(x_t-x_{t-2})(x_t-x_{t+2})+(x_t-x_{t-2})(x_t-x_{t+1})]\\ \\ & -2y_{t+1}[(x_t-x_{t-1})(x_t-x_{t+2})+(x_t-x_{t-2})(x_t-x_{t+2})+(x_t-x_{t-2})(x_t-x_{t-1})]\\ \\ & + y_{t+2}[(x_t-x_{t-1})(x_t-x_{t+1})+(x_t-x_{t-2})(x_t-x_{t+1})+(x_t-x_{t-2})(x_t-x_{t-1})] \}\frac{1}{12h^3} \\ \\ =& \{ -y_{t-2}[(-h)(-2h)+(h)(-2h)+(h)(-h)]\\ \\ & + 2y_{t-1}[(-h)(-2h)+(2h)(-2h)+(2h)(-h)]\\ \\ & -2y_{t+1}[(h)(-2h)+(2h)(-2h)+(2h)(h)]\\ \\ & + y_{t+2}[(h)(-h)+(2h)(-h)+(2h)(h)] \}\frac{1}{12h^3} \\ \\ =& ( y_{t-2} -8y_{t-1} +8y_{t+1}- y_{t+2} )\frac{1}{12h} \\ \end{aligned} y(xt)==={yt2[(xtxt+1)(xtxt+2)+(xtxt1)(xtxt+2)+(xtxt1)(xtxt+1)]+2yt1[(xtxt+1)(xtxt+2)+(xtxt2)(xtxt+2)+(xtxt2)(xtxt+1)]2yt+1[(xtxt1)(xtxt+2)+(xtxt2)(xtxt+2)+(xtxt2)(xtxt1)]+yt+2[(xtxt1)(xtxt+1)+(xtxt2)(xtxt+1)+(xtxt2)(xtxt1)]}12h31{yt2[(h)(2h)+(h)(2h)+(h)(h)]+2yt1[(h)(2h)+(2h)(2h)+(2h)(h)]2yt+1[(h)(2h)+(2h)(2h)+(2h)(h)]+yt+2[(h)(h)+(2h)(h)+(2h)(h)]}12h31(yt28yt1+8yt+1yt+2)12h1

这就是计算一阶导数的四阶中心差分格式!

  • 12
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值