问题描述
有一函数 y=f(x) (被插值函数),已知一系列的点 x0,x1,⋯,xn (插值节点),则
x | x1 | ⋯ | xn | |
---|---|---|---|---|
y | y1 | ⋯ | yn |
求简单函数
P(x)
(插值函数),满足
P(xi)=yi
(插值条件)。
即用函数
P(x)
近似表示
f(x)
。
多项式插值
即 P(x)=anxn+⋯+a1x+a0 。
P(x)的存在性
P(x)=anxn+⋯+a1x+a0
则有,
上述线性方程组(这里 a 为变量)的系数矩阵A为:
A为范德蒙德行列式,所以|A|≠0,该方程组的解存在并且唯一。
拉格朗日插值多项式
- 当
n=1
时,即
(x0,y0),(x1,y1)
直线点斜式, y−y0 = y0−y1x0−x1(x−x0)
即, y=x−x1x0−x1y0+x−x0x1−x0y1
令 l0(x)=x−x1x0−x1,l1(x)=x−x0x1−x0
则 P1(x)=y0l0(x)+y1l1(x)
且满足
{l0(x0)=1,l1(x0)=0l0(x1)=0,l1(x1)=1 - 当
n=2
时,
P2(x)=y0l0(x)+y1l1(x)+y2l2(x)
且
⎧⎩⎨l0(x0)=1,l1(x0)=0,l2(x0)=0l0(x1)=0,l1(x1)=1,l2(x1)=0l0(x2)=0,l1(x2)=0,l2(x2)=1
则⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪l0(x)=(x−x1)(x−x2)(x0−x1)(x0−x2)l1(x)=(x−x0)(x−x2)(x1−x0)(x1−x2)l2(x)=(x−x0)(x−x1)(x2−x0)(x2−x1) - 当有
n+1
个节点时,即
n=n
时,
Pn(x)=y0l0(x)+⋯+ynln(x)
则有
l0(x)=(x−x1)⋯(x−xn)(x0−x1)⋯(x0−xn)
lk(x)=(x−x0)⋯(x−xk−1)(x−xk+1)⋯(x−xn)(xk−x0)⋯(xk−xk−1)(xk−xk+1)⋯(xk−xn) (插值基函数)
记为
lk(x)=wn+1(x)(x−xk)w′n+1(xk) (这里仅仅只是记作),其中 wn+1(x)=(x−x0)(x−x1)⋯(x−xn)
插值余项(即误差)
Rn(x)=f(x)−Ln(x)=f(n+1)(ξ)(n+1)!wn+1(x)
,
a<ξ<b
证:
Rn(x)
在点
x0,x1,⋯,xn
处均为零,有
Rn(x)=K(x)⋅(x−x0)(x−x1)⋯(x−xn)=K(x)⋅wn+1(x)
构造函数
Φ(t)=f(t)−Ln(t)−K(x)⋅(t−x0)(t−x1)⋯(t−xn)
- 在点
x0,x1,⋯,xn
处,
f(t)−Ln(t)=0,K(x)⋅(t−x0)(t−x1)⋯(t−xn)=0
,则
Φ(t)=0
。
- 在点
x
处,根据
则
Φ(t)
在区间
(a,b)
内共有
n+2
个零点,根据罗尔定理,
Φ′(t)
在区间
(a,b)
内至少有
n+1
个零点,依次类推,
Φ(n+1)(t)
在区间
(a,b)
内至少有1个零点,记
a<ξ<b
,使得
Φ(n+1)(ξ)=f(n+1)(ξ)−0−(n+1)!K(x)=0
从而
K(x)=f(n+1)(ξ)(n+1)!
即
Rn(x)=K(x)wn+1(x)=f(n+1)(ξ)(n+1)!wn+1(x)
,
a<ξ<b
由于ξ的位置不确定,一般而言
Rn(x)
求不出具体的值,若在区间
(a,b)
内,
max|f(n+1)(x)|=Mn+1
,则可知其截断误差为:
|Rn(x)|=|f(n+1)(ξ)|(n+1)!|wn+1(x)|≤Mn+1(n+1)!|wn+1(x)|
- 若
f(x)=xk且k≤n,则Ln(x)=
∑ni=0xkili(x)
,f(n+1)(x)=0
,插值余项为
Rn(x)=0
,从而,
f(x)=Ln(x)
,即
- 当 k=0 时,即为,
拉格朗日插值多项式优缺点
优点:使用基函数表示,简洁直接;
缺点:当节点增加之后,修改起来不方便。