前向差分、后向差分和中心差分误差分析
·
前向差分、后向差分和中心差分误差分析
假设有函数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
更多推荐
已为社区贡献3条内容
所有评论(0)