差商
差商的定义:
函数
f
(
x
)
f(x)
f(x)在两个互异点
x
i
,
x
j
x_i,x_j
xi,xj处的一阶差商定义为:
f
[
x
i
,
x
j
]
=
f
(
x
i
)
−
f
(
x
j
)
x
i
−
x
j
(
i
≠
j
,
x
i
≠
x
j
)
f[x_i,x_j]=\frac{f(x_i)-f(x_j)}{x_i-x_j} (i\ne j,x_i\ne x_j)
f[xi,xj]=xi−xjf(xi)−f(xj)(i=j,xi=xj)
2阶差商:
f
[
x
i
,
x
j
,
x
k
]
=
f
[
x
i
,
x
j
]
−
f
[
x
j
,
x
k
]
x
i
−
x
k
(
i
≠
k
)
f[x_i,x_j,x_k]=\frac{f[x_i,x_j]-f[x_j,x_k]}{x_i-x_k}(i\ne k)
f[xi,xj,xk]=xi−xkf[xi,xj]−f[xj,xk](i=k)
k
+
1
k+1
k+1阶差商:
f
[
x
0
,
.
.
.
,
x
k
+
1
]
=
f
[
x
0
,
x
1
,
.
.
.
x
k
]
−
f
[
x
1
,
.
.
.
,
x
k
,
x
k
+
1
]
x
0
−
x
k
+
1
=
f
[
x
0
,
.
.
.
,
x
k
−
1
,
x
k
]
−
f
[
x
0
,
.
.
.
,
x
k
−
1
,
x
k
+
1
]
x
k
−
x
k
+
1
f[x_0,...,x_{k+1}]=\frac{f[x_0,x_1,...x_k]-f[x_1,...,x_k,x_{k+1}]}{x_0-x_{k+1}}\\ =\frac{f[x_0,...,x_{k-1},x_k]-f[x_0,...,x_{k-1},x_{k+1}]}{x_k-x_{k+1}}
f[x0,...,xk+1]=x0−xk+1f[x0,x1,...xk]−f[x1,...,xk,xk+1]=xk−xk+1f[x0,...,xk−1,xk]−f[x0,...,xk−1,xk+1]
差商的性质:
牛顿插值多项式推导
或
根据上图,前n+1个式子乘以一个系数再相加,经过两边抵消得到
f
(
x
)
f(x)
f(x),等式右边第一项
N
n
(
x
)
N_n(x)
Nn(x)为牛顿插值公式,第二项
R
n
(
x
)
R_n(x)
Rn(x)为插值余项。
等距节点的牛顿插值
设
f
(
x
)
f(x)
f(x)在等距节点
x
k
=
x
0
+
k
h
x_k=x_0+kh
xk=x0+kh处的函数值为
f
k
,
k
=
0
,
1
,
.
.
.
,
n
f_k,k=0,1,...,n
fk,k=0,1,...,n,称
△
f
k
=
f
k
+
1
−
f
k
,
k
=
0
,
1
,
.
.
.
,
n
−
1
\triangle f_k=f_{k+1}-f_k,k=0,1,...,n-1
△fk=fk+1−fk,k=0,1,...,n−1
为
f
(
x
)
在
x
k
f(x)在x_k
f(x)在xk处的一阶向前差分
∇
f
k
=
f
k
−
f
k
−
1
,
k
=
1
,
2
,
.
.
.
,
n
\nabla f_k=f_k-f_{k-1},k=1,2,...,n
∇fk=fk−fk−1,k=1,2,...,n
为
f
(
x
)
在
x
k
f(x)在x_k
f(x)在xk处的一阶向后差分。
在等距节点前提下,差商与差分的关系如下:
牛顿前向插值公式
如果节点
x
0
,
x
1
,
.
.
.
,
x
n
x_0,x_1,...,x_n
x0,x1,...,xn是等距节点,即
x
k
=
x
0
+
k
h
,
k
=
0
,
1
,
.
.
.
,
n
,
h
=
b
−
a
n
x_k=x_0+kh,k=0,1,...,n,h=\frac{b-a}{n}
xk=x0+kh,k=0,1,...,n,h=nb−a
牛顿插值基本公式为
N
n
(
x
)
=
f
0
+
Σ
k
=
1
n
f
[
x
0
,
x
1
,
⋯
,
x
x
]
ω
k
(
x
)
ω
k
(
x
)
=
Π
j
=
0
k
−
1
(
x
−
x
j
)
N_n(x)=f_0+\Sigma_{k=1}^nf[x_0,x_1,\cdots,x_x]\omega_k(x)\\ \omega_k(x)=\Pi_{j=0}^{k-1}(x-x_j)
Nn(x)=f0+Σk=1nf[x0,x1,⋯,xx]ωk(x)ωk(x)=Πj=0k−1(x−xj)
如果假设
x
=
x
0
+
t
h
x=x_0+th
x=x0+th,由差商与向前差分的关系
f
[
x
0
,
x
1
,
.
.
.
,
x
k
]
=
△
k
f
0
k
!
h
k
f[x_0,x_1,...,x_k]=\frac{\triangle^kf_0}{k!h^k}
f[x0,x1,...,xk]=k!hk△kf0
ω
k
(
x
)
=
Π
j
=
0
k
−
1
(
x
−
x
j
)
=
Π
j
=
0
k
=
1
(
x
0
+
t
h
−
x
0
−
j
h
)
=
Π
j
=
0
k
−
1
(
t
−
j
)
h
\omega_k(x)=\Pi_{j=0}^{k-1}(x-x_j)=\Pi_{j=0}^{k=1}(x_0+th-x_0-jh)=\Pi_{j=0}^{k-1}(t-j)h
ωk(x)=Πj=0k−1(x−xj)=Πj=0k=1(x0+th−x0−jh)=Πj=0k−1(t−j)h
则Newton向前插值公式为:
N
n
(
x
0
+
t
h
)
=
f
0
+
Σ
k
=
1
n
[
△
k
f
0
k
!
Π
j
=
0
k
−
1
(
t
−
j
)
]
N_n(x_0+th)=f_0+\Sigma_{k=1}^n[\frac{\triangle^kf_0}{k!}\Pi_{j=0}^{k-1}(t-j)]
Nn(x0+th)=f0+Σk=1n[k!△kf0Πj=0k−1(t−j)]
插值余项为:
R
n
(
x
0
+
t
h
)
=
f
(
n
+
1
)
(
ξ
)
(
n
+
1
)
!
h
n
+
1
Π
j
=
0
n
(
t
−
j
)
R_n(x_0+th)=\frac{f^{(n+1)}(\xi)}{(n+1)!}h^{n+1}\Pi_{j=0}^{n}(t-j)
Rn(x0+th)=(n+1)!f(n+1)(ξ)hn+1Πj=0n(t−j)
#牛顿插值法优缺点
牛顿插值法的优点是计算较简单,尤其是增加节点时,计算只增加一项,这是拉格朗日插值无法比的。
缺点是仍没有改变拉格朗日的插值曲线在节点处有尖点,不光滑,插值多项式在节点处不可导等缺点。