数值微分|向前差分和向后差分

2020-08-25 10:51:54 浏览数 (2)

中心差分法详见:

数值微分|中心差分法(Central Finite Difference Approximations)

求区间端点的导数时,不能用中心差分法。考虑在

n

个离散点

x_0,x_1,x_2,...,x_n

给出函数的情况,由于中心差分在

x

的两侧使用函数的值,因此我们将无法计算导数

x_0,x_n

。显然,需要只在

x

的一侧求值的差分表达式。这些表达式称为向前和向后有限差分(forward and backward finite difference approximations)。

  • 一阶向前和向后差分

由泰勒公式可得到:

f(x h)=f(x) hf^{prime}(x) frac{h^2}{2!}f^{primeprime}(x) frac{h^3}{3!}f^{primeprimeprime}(x) frac{h^4}{4!}f^{(4)}(x) cdots qquad(1)
f(x-h)=f(x)-hf^{prime}(x) frac{h^2}{2!}f^{primeprime}(x)-frac{h^3}{3!}f^{primeprimeprime}(x) frac{h^4}{4!}f^{(4)}(x)-cdots qquad(2)
f(x 2h)=f(x) 2hf^{prime}(x) frac{(2h)^2}{2!}f^{primeprime}(x) frac{(2h)^3}{3!}f^{primeprimeprime}(x) frac{(2h)^4}{4!}f^{(4)}(x) cdots qquad(3)
f(x-2h)=f(x)-2hf^{prime}(x) frac{(2h)^2}{2!}f^{primeprime}(x)-frac{(2h)^3}{3!}f^{primeprimeprime}(x) frac{(2h)^4}{4!}f^{(4)}(x)-cdots qquad(4)

由(1)可得

f^{prime}(x) = frac{f(x h)-f(x)}{h}-frac{h}{2}f^{primeprime}(x)-frac{h^2}{3!}f^{primeprimeprime}(x)-frac{h^4}{4!}f^{(4)}(x)-cdots qquad(5)

或者

f^{prime}(x) = frac{f(x h)-f(x)}{h} O(h) qquad(6)

同理,由(2)可得

f^{prime}(x) = frac{f(x)-f(x-h)}{h} O(h) qquad(7)

(6)称为求

f^{prime}(x)

的一阶向前差分公式。(7)称为求

f^{prime}(x)

的一阶向后差分公式。

由(1)(3)可得求

f^{primeprime}(x)

的一阶向前差分公式:

f^{primeprime}(x) = frac{f(x 2h)-2f(x h) f(x)}{h^2} O(h) qquad(7)

一阶向前差分法的系数见下表。

一阶向后差分法的系数见下表。

  • 二阶向前和向后差分

由(1)(3)消去

f^{primeprime}(x)

可得

f(x 2h)-4f(x h)= -3f(x)-2hf^{prime}(x) frac{h^4}{2}f^{(4)}(x) cdots qquad(8)

f^{prime}(x) = frac{-f(x 2h) 4f(x h)-3f(x)}{2h} frac{h^2}{4}f^{(4)}(x) cdots qquad(9)

或者

f^{prime}(x) = frac{-f(x 2h) 4f(x h)-3f(x)}{2h} O(h^2) qquad(10)

(10)称为求

f^{prime}(x)

的二阶向前差分公式。二阶向前差分法的系数见下表。

二阶向后差分法的系数见下表。

0 人点赞