数值分析之拉格朗日插值方法详解
数据点通用格式
x0 | x1 | x2 | … | xn |
---|---|---|---|---|
y0 | y1 | y2 | … | yn |
n=1,两个数据点
当n=1,自由度为1,一个未知数表示直线拟合
数据点两个
x0 | x1 |
---|---|
y0 | y1 |
系数方程如下:
l0(x)=x−x1x0−x1
l1(x)=x−x0x1−x0
拟合多项式为:P1(x)=y0l0(x)+y1l1(x)
n=2,三个数据点
当n=2,自由度为2,2个未知数表示二次多项式拟合
数据点3个
x0 | x1 | x2 |
---|---|---|
y0 | y1 | y2 |
系数方程如下:
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)
拟合多项式为:P1(x)=y0l0(x)+y1l1(x)+y2l2(x)
n=3,四个数据点
当n=3,自由度为3,3个未知数表示3次多项式拟合
数据点4个
x0 | x1 | x2 | x3 |
---|---|---|---|
y0 | y1 | y2 | y3 |
系数方程如下:
l0(x)=(x−x1)(x−x2)(x−x3)(x0−x1)(x0−x2)(x0−x3)
l1(x)=(x−x0)(x−x2)(x−x3)(x1−x0)(x1−x2)(x1−x3)
l2(x)=(x−x0)(x−x1)(x−x3)(x2−x0)(x2−x1)(x2−x3)
l3(x)=(x−x0)(x−x1)(x−x2)(x3−x0)(x3−x1)(x3−x2)
拟合多项式为:P1(x)=y0l0(x)+y1l1(x)+y2l2(x)+y3l3(x)
n=i,通项公式
数据点共n+1个
x0 | x1 | x2 | … | xi−1 | xi | xi+1 | … | xn |
---|---|---|---|---|---|---|---|---|
y0 | y1 | y2 | … | yi−1 | yi | yi+1 | … | xn |
系数方程:
li(x)=(x−x0)(x−x1)…(x−xi−1)(x−xi+1)…(x−xn)(xi−x0)(xi−x1)…(xi−xi−1)(xi−xi+1)…(xi−xn)=∏j=0,j≠inx−xixi−xj.
其中i=0,1,…,n。
拟合多项式为:
Pn(x)=∑i=0nyili(x)