介绍
在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多项式称为拉格朗日(插值)多项式。数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。拉格朗日插值法最早被英国数学家爱德华·华林于1779年发现[1],不久后(1783年)由莱昂哈德·欧拉再次发现。1795年,拉格朗日在其著作《师范学校数学基础教程》中发表了这个插值方法,从此他的名字就和这个方法联系在一起。
讲解
举个简单的题目做例子,
现在平面上有n+1个点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi),要求怎样一个n次的函数可以经过这几个点,
这个就是求一个k项的多项式,
又因为n+1个未知数n+1个不同方程一定可以解,所以只要我们求出的多项式经过n+1个点即可,
那么我们就让它经过咯~
设
l
i
(
x
)
l_i(x)
li(x)表示当
x
=
a
i
x=a_i
x=ai时为1,其他情况为0,
那么
L
(
x
)
=
∑
i
=
1
n
+
1
l
i
(
x
)
∗
y
i
L(x)=\sum_{i=1}^{n+1}l_i(x)*y_i
L(x)=∑i=1n+1li(x)∗yi,且一定经过这n+1个点,
考虑
l
i
l_i
li怎么求,
l
i
(
x
)
=
∏
j
=
1
,
i
!
=
j
(
x
−
x
j
)
∏
j
=
1
,
i
!
=
j
(
x
i
−
x
j
)
l_i(x)=\frac{\prod_{j=1,i!=j}(x-x_j)}{\prod_{j=1,i!=j}(x_i-x_j)}
li(x)=∏j=1,i!=j(xi−xj)∏j=1,i!=j(x−xj)
这样就可以保证它的定义了,
变一下(设以下保证不存在i使得
x
=
x
i
x=x_i
x=xi)
设
l
(
x
)
=
∏
j
=
1
(
x
−
x
j
)
,
w
i
=
1
∏
j
=
1
,
i
!
=
j
(
x
i
−
x
j
)
l(x)=\prod_{j=1}(x-x_j)\ ,\ w_i=\frac{1}{\prod_{j=1,i!=j}(x_i-x_j)}
l(x)=∏j=1(x−xj) , wi=∏j=1,i!=j(xi−xj)1
那么
l
i
(
x
)
=
l
(
x
)
w
i
(
x
−
x
i
)
l_i(x)=\frac{l(x)w_i}{(x-x_i)}
li(x)=(x−xi)l(x)wi
L
(
x
)
=
l
(
x
)
∑
i
=
1
n
+
1
y
i
∗
w
i
(
x
−
x
i
)
L(x)=l(x)\sum_{i=1}^{n+1}y_i*\frac{w_i}{(x-x_i)}
L(x)=l(x)i=1∑n+1yi∗(x−xi)wi
这样,如果有一个坐标变了,只要
O
(
n
)
O(n)
O(n)的复杂度即可完成更改,
(好像没有什么大用。。。)