Skip to content

差商与牛顿插值

2025-06-30

简介

牛顿插值是多项式插值的一种,即通过 n+001插值节点构造 n插值多项式

P(x)=a0+a1x+a2x2++anxnP(xi)=yi,i=0,1,,n

对于拉格朗日插值,每新增一个插值节点,都要重算所有插值基函数。而牛顿插值能够实现「增量更新」,无需推倒重来。

基本思想

当追加 (xk,00yk) 时,给原先的插值多项式 P(x) 加上一个多项式

ak(xx0)(xx1)(xxk1)

以上多项式在代入 x=00x0,00x1,00,00xk1 时均为 0,也就是保持了原先的插值结果;待定系数 ak 的值通过方程 P(xk)=00yk 解出。

现用多项式 P(x) 近似 f(x),并依次追加插值节点

  1. 追加 (x0,00y0),此时构造 P(x)=00a0,其中 a0=00y0
  2. 追加 (x1,00y1),此时更新 P(x)=00a0+00a1(x00x0),其中 a1=00y1y0x1x0
  3. 追加 (x2,00y2),此时更新 P(x)=00a0+00a1(x00x0)+00a2(x00x0)(x00x1),其中 a2=00y2y0x2x0y1y0x1x0x2x1

容易看出,待定系数 ak 的形式符合某一规律,且其复杂性随规模的增大而增大。

差商

一阶差商 f[x0,00x1]
f[x0,x1]=f(x1)f(x0)x1x0
二阶差商 f[x0,00x1,00x2]
f[x0,x1,x2]=f[x0,x2]f[x0,x1]x2x1=f[x1,x2]f[x0,x1]x2x0
k 阶差商 f[x0,00,00xk]
f[x0,,xk]=f[x0,,xk2,xk]f[x0,,xk1]xkxk1=f[x1,,xk]f[x0,,xk1]xkx0
性质 1

k 阶差商可表示为 f(x0),00f(x1),00,00f(xk) 的线性组合。

f[x0,,xk]=i=0kf(xi)j=0jik(xixj)
性质 2(对称性)

差商是顺序不敏感的。

f[,xi,xi+1,]=f[,xi+1,xi,]
性质 3

f(x)[a,00b] 上存在 n 阶导数,且 x0,00x1,00,00xn[a,00b],则

f[x0,,xn]=f(n)(ξ)n!,ξ(a,b)
性质 1:证

采用数学归纳法。

k=001 时命题显然成立。

f[x0,x1]=f(x1)f(x0)x1x0=f(x1)x1x0+f(x0)x0x1

k>1 时,假设原命题对 k001 成立,则

f[x0,,xk]=f[x1,,xk]f[x0,,xk1]xkx0=i=1kf(xi)j=1jik(xixj)i=0k1f(xi)j=0jik1(xixj)xkx0=i=0k(xix0)f(xi)j=0jik(xixj)i=0k(xixk)f(xi)j=0jik(xixj)xkx0=i=0k(xkx0)f(xi)j=0jik(xixj)xkx0=i=0kf(xi)j=0jik(xixj)

即原命题对 k 成立。

因此原命题在 Z+00 上成立。

性质 2:证

性质 1

f[,xi,xi+1,]=hf(xh)jh(xhxj)=f[,xi+1,xi,]
性质 3:证

已知拉格朗日插值多项式

Ln(x)=k=0nf(xk)k(x),k(x)=i=0iknxxixkxi

拉格朗日插值余项的定义式

Rn(x)=f(x)Ln(x)

注意到 Rn(x) 有共 n+001 个互异零点 x0,00x1,00,00xn

根据罗尔(Rolle)定理有

  • Rn(x)(a,00b) 上有 n 个零点;
  • Rn(x)(a,00b) 上有 n001 个零点;
  • Rn(n)(x)(a,00b) 上有 1 个零点。

即存在 ξ(a,00b) 使得

Rn(n)(ξ)=f(n)(ξ)Ln(n)(ξ)=0

又因为 k(x) 的最高项 xn 的系数为 i=0ikn1xkxi,结合性质 1

Ln(n)(ξ)=n!k=0nf(xi)i=0ikn1xkxi=n!f[x0,,xk]

f(n)(ξ)n!f[x0,,xk]=0f[x0,,xk]=f(n)(ξ)n!

差商表

xkf(xk)一阶差商二阶差商三阶差商四阶差商
x0f(x0)
x1f(x1)f[x0,00x1]
x2f(x2)f[x1,00x2]f[x0,00x1,00x2]
x3f(x3)f[x2,00x3]f[x1,00x2,00x3]f[x0,00x1,00x2,00x3]
x4f(x4)f[x3,00x4]f[x2,00x3,00x4]f[x1,00x2,00x3,00x4]f[x0,00x1,00x2,00x3,00x4]

牛顿插值

n 次牛顿插值多项式 Nn(x)
Nn(x)=f(x0)+k=1nf[x0,,xk]i=0k1(xxi)

容易由数学归纳法证明 Nn(x) 是正确的插值多项式

一次牛顿插值多项式 N1(x)
N1(x)=f(x0)+f[x0,x1](xx0)
二次牛顿插值多项式 N2(x)
N2(x)=f(x0)+f[x0,x1](xx0)+f[x0,x1,x2](xx0)(xx1)

牛顿插值余项

多项式插值定理得,同一条件下的牛顿插值多项式 Nn(x)拉格朗日插值多项式 Ln(x) 相同,故余项也相同。

Rn(x)=f(x)Nn(x)=f(x)Ln(x)

详见拉格朗日插值余项