前向差分、后向差分和中心差分误差分析

假设有函数y=f(x),但是我们只知道该函数中有限个离散点,比如我们只知道函数上的有限点集:

现在我们想利用这些有限点集对函数f(x)求导。一种前向差分估算其导数的方法是:

 另外一种后向差分估算其导数的方法是:

由于前向差分和后向差分的误差刚好符号相反,如果我们把这两种差分求其平均,那么得到的结果将好于其任何一种结果。如果离散点集为等距离划分,即xi+1-xi=xi-xi-1=h,因此对前向差分和后向差分平均后,我们得到其中心差分结果:

 三种差分示意图:

误差估算 

由泰勒公式表达前向差分为:

或者表示精度为O(h)的泰勒级数为:

假设我们令x=xi,xi+h=xi+1,即可表示为:

同理,我们可得后向差分泰勒级数表达式为:

或者表示精度为O(h)的泰勒级数为:

假设我们令x=xi,xi-h=xi-1,即可表示为:

对于中心差分,我们由泰勒公式可知:

其中,xi≤c1≤xi-1, xi-1≤c2≤xi,,上述两式子相减可得:

 

此式子,意味着中心差分的精度为O(h2),也意味着中心差分的结果要好于前向或者后向差分。

相应的我们可以求得更高阶的导数:

由1、3式可得: 

 

 参考资料:

1.https://mp.weixin.qq.com/s/7AHz5GC6MZ7y7opC7fzFDA

2.Introduction to Numerical Methods and Matlab Programming  Todd Young and Martin Mohlenkamp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐