# 数值微分
# 采用 Taylor 估计
采用定义是最基本的数值微分方法,即计算
hf(x0+h)−f(x0)
根据 Taylor 公式可以简单估计其误差范围,即 f′′(ξ(x)) 的范围。
因此,我们得到了
- 向前差分公式 (forward-difference formula):
f′(x0)=hf(x0+h)−f(x0)−2hf′′(ξ)
- 向后差分公式 (backward-difference formula):
f′(x0)=hf(x0)−f(x0−h)+2hf′′(ξ)
- 中心差分公式 (central-difference formula):
f′(x0)=2hf(x0+h)−f(x0−h)−6h2f′′′(ξ)
# 采用 Lagrange 插值公式估计
注意,由于 Lagrange 公式中的余项求导难以估计,因此选择在插值点求导进行估计。
在区间 I 内有 n+1 个不同的点,因此有 n+1 点公式:
f′(xj)=k=0∑nf(xk)Lk′(xj)+(n+1)!f(n+1)(ξ(xj))k=0k=j∏n(xj−xk)
其中,
(n+1)!f(n+1)(ξ(xj))k=0k=j∏n(xj−xk)
是误差项。
在此基础上,有两个简化的公式版本,即三点公式和五点公式。
三点公式的原始版本为:
f′(xj)=f(x0)[(x0−x1)(x0−x2)2xj−x1−x2]+f(x1)[(x1−x0)(x1−x2)2xj−x0−x2]+f(x2)[(x2−x0)(x2−x1)2xj−x0−x1]+61f(3)(ξj)k=0k=j∏2(xj−xk)
在此基础上,令取样点具有相同的间隔,得到两个简化的公式:
f′(x0)=2h1[−3f(x0)+4f(x0+h)−f(x0+2h)]+3h2f(3)(ξ0)
和
f′(x0)=2h1[f(x0+h)−f(x0−h)]−6h2f(3)(ξ1)
其中,ξ0∈(x0,x0+2h),ξ1∈(x0−h,x0+h).
它们的误差都是 O(h2) 的。
在五点公式中,值得记忆或使用的包括:
f′(x0)=12h1(f(x0−2h)−8f(x0−h)+8f(x0+h)−f(x0+2h))+30h4f(5)(ξ)
二阶导数的中点公式
f′′(x0)=h21(f(x0−h)−2f(x0)+f(x0+h))−12h2f(4)(ξ)
# Richardson 外推法
采用增加取样点换取高精度的方法。每增高1 倍的取样点数量,可以让精度提高2 阶。
# 数值积分
# 梯形公式
梯形公式如下:
∫abf(x)dx=2h(f(x0)+f(x1))−12h3f′′(ξ)
# Simpson 公式
∫x0x2f(x)dx=3h(f(x0)+4f(x0+h)+f(x1))−