五点差分公式推导:证明 f'(x) = [f(x-2h) - 8f(x-h) + 8f(x+h) - f(x+2h)] / 12h + O(h^4)
首先,我们使用泰勒展开式来近似 $f(x-h)$ 和 $f(x+h)$:
$$\f(x-h) = f(x) - hf'(x) + \frac{h^2}{2}f''(x) - \frac{h^3}{6}f'''(x) + O(h^4)$$
$$\f(x+h) = f(x) + hf'(x) + \frac{h^2}{2}f''(x) + \frac{h^3}{6}f'''(x) + O(h^4)$$
将这两个式子代入 $f'(x)$ 的定义式中,得到:
\begin{align*}\f'(x) &= \frac{f(x+h) - f(x-h)}{2h} \&= \frac{1}{2h} \left[ (f(x) + hf'(x) + \frac{h^2}{2}f''(x) + \frac{h^3}{6}f'''(x) + O(h^4)) \right. \&\quad \left. - (f(x) - hf'(x) + \frac{h^2}{2}f''(x) - \frac{h^3}{6}f'''(x) + O(h^4)) \right] \&= \frac{1}{2h} (2hf'(x) + 2O(h^3)) \&= f'(x) + O(h^2)\end{align*}
这说明了 $f'(x)$ 的一阶导数可以用 $O(h^2)$ 的精度用前向差分来逼近。但是,我们希望得到 $O(h^4)$ 的精度,因此需要使用更高阶的差分公式。
接下来,我们使用类似的方法来近似 $f(x-2h)$ 和 $f(x+2h)$:
$$\f(x-2h) = f(x) - 2hf'(x) + 2h^2f''(x) - \frac{4}{3}h^3f'''(x) + O(h^4)$$
$$\f(x+2h) = f(x) + 2hf'(x) + 2h^2f''(x) + \frac{4}{3}h^3f'''(x) + O(h^4)$$
将这两个式子代入 $f'(x)$ 的定义式中,得到:
\begin{align*}\f'(x) &= \frac{f(x+2h) - 8f(x+h) + 8f(x-h) - f(x-2h)}{12h} \&= \frac{1}{12h} \left[ (f(x) + 2hf'(x) + 2h^2f''(x) + \frac{4}{3}h^3f'''(x) + O(h^4)) \right. \&\quad \left. - 8(f(x) + hf'(x) + \frac{h^2}{2}f''(x) + \frac{h^3}{6}f'''(x) + O(h^4)) \right. \&\quad \left. + 8(f(x) - hf'(x) + \frac{h^2}{2}f''(x) - \frac{h^3}{6}f'''(x) + O(h^4)) \right. \&\quad \left. - (f(x) - 2hf'(x) + 2h^2f''(x) - \frac{4}{3}h^3f'''(x) + O(h^4)) \right] \&= f'(x) - \frac{h^4}{30}f^{(5)}(x) + O(h^6)\end{align*}
这说明了 $f'(x)$ 的一阶导数可以用 $O(h^4)$ 的精度用五点差分来逼近。因此,证毕。
原文地址: http://www.cveoy.top/t/topic/oQgr 著作权归作者所有。请勿转载和采集!