一阶导数的二阶精度中心差分公式近似

对 $f(x+\Delta x)$ 作 Taylor 展开得到

其中 $\xi_1\in(x,x+\Delta x)$ .

对 $f(x-\Delta x)$ 作 Taylor 展开得到

其中 $\xi_1\in(x-\Delta x,x)$ .

两式相减可得

介值定理可得

从而可得 $f(x)$ 一阶导数的中心差分公式

等式右侧第一项为一阶导数的近似值,第二项为截断误差,可以看出此时截断误差为 $\mathcal{O}(\Delta x^2)$ 。通过截去 $\Delta x$ 的更高阶项,可以获得更高精度的近似.

一阶导数的四阶精度中心差分公式近似

类似的,我们在展开式中截去 $\Delta x$ 的更高阶项,从而获得更高的精度,例如在 $\mathcal{O}(\Delta x^5)$ 处截去项,可以得到

其中 $\xi_1\in(x,x+\Delta x)$ .

其中 $\xi_2\in(x-\Delta x,x)$ .

两式相减可得

上式中含有一个三阶项,这是我们不想要的. 去除的方法是用 $2\Delta x$ 替换 $\Delta x$ ,再与上式联立消掉三阶项. 首先用 $2\Delta x$ 替换 $\Delta x$ 得到

再将式 (1.8) 乘以 8 并与之上式相减,再两次利用介值定理得到四阶精度的中心差分公式

可以看出此时的截断误差为 $\mathcal{O}(\Delta x^4)$ .

更高阶导数的中心差分公式近似

方法与之前类似,仍然从式 (1.1) (1.2) 入手,在 $\mathcal{O}(\Delta x^4)$ 处截去项,将两式相加,得到

与前面的思路类似,可以得到二阶导数的中心差分公式

这种方法可以找到任意阶导数的近似.

小结

用前面的方法,可以近似得到二阶、三阶乃至更高阶的导数。

二阶精度的中心差分公式

一阶导数 $\dfrac{f(x+\Delta x)-f(x-\Delta x)}{2\Delta x}$
二阶导数 $\dfrac{f(x+\Delta x)-2f(x)+f(x-\Delta x)}{\Delta x^2}$
三阶导数 $\dfrac{f(x+2\Delta x)-2f(x+\Delta x)+2f(x-\Delta x)-f(x-2\Delta x)}{2\Delta x^3}$
四阶导数 $\dfrac{f(x+2\Delta x)-4f(x+\Delta x)+6f(x)-4f(x-\Delta x)+f(x-2\Delta x)}{\Delta x^4}$

四阶精度的中心差分公式

一阶导数 $\dfrac{-f(x+2\Delta x)+8f(x+\Delta x)-8f(x-\Delta x)+f(x-2\Delta x)}{12\Delta x}$
二阶导数 $\dfrac{-f(x+2\Delta x)+16f(x+\Delta x)-30f(x)+16f(x-\Delta x)-f(x-2\Delta x)}{12\Delta x^2}$
三阶导数 $\dfrac{-f(x+3\Delta x)+8f(x+2\Delta x)-13f(x+\Delta x)+13f(x-\Delta x)-8f(x-2\Delta x)+f(x-3\Delta x)}{8\Delta x^3}$
四阶导数 $\dfrac{-f(x+3\Delta x)+12f(x+2\Delta x)-39f(x+\Delta x)+56f(x)-39f(x-\Delta x)+12f(x-2\Delta x)-f(x-3\Delta x)}{6\Delta x^4}$

需要注意的是,在计算区域的边界处,不能使用中心差分公式,这是因为并不是计算点两侧都有点,因此要使用向前差分公式或向后差分公式。

二阶精度的向前和向后差分公式

一阶向前差分 $\dfrac{-3f(x)+4f(x+\Delta x)-f(x+2\Delta x)}{2\Delta x}$
一阶向后差分 $\dfrac{3f(x)-4f(x-\Delta x)+f(x-2\Delta x)}{2\Delta x}$
二阶向前差分 $\dfrac{2f(x)-5f(x+\Delta x)+4f(x+2\Delta x)-f(x+3\Delta x)}{\Delta x^2}$
二阶向后差分 $\dfrac{2f(x)-5f(x-\Delta x)+4f(x-2\Delta x)-f(x-3\Delta x)}{\Delta x^2}$