§4.2  Lagrange插值方法

4.2.1 拉格朗日插值多项式的基本概念

1         线性插值

由存在性唯一性定理的证明过程可知,每一个代数插值问题实质上对应一个线性代数方程组的求解问题。对于插值方法的研究实际上是围绕插值条件所引出的线性方程组的求解方法的研究来展开的。常用的方法是插值基函数方法,具有代表性的基函数是拉格朗日基函数,由此而构造的插值多项式称为拉格朗日插值多项式。首先来讨论拉格朗日插值方法的线性插值。

    已知数据(),(

求满足插值条件:

的线性插值函数:

从几何上看,的图形是通过平面上两个定点的直线。由直线的点斜式方程(也可以用两点式方程),所求线性插值函数可表示为:

                                  4.2.1

  4.2.1】由常用的正弦函数特殊值出发,利用线性插值求的值。

解 常用的正弦函数特殊值有:

⑴取,则有,利用公式(4.2.1)计算可以得到:

⑵ 若取,则有,利用公式(4.2.1)计算可以得到:

这个数较好的接近于正弦函数在该点的值0.5878(取小数点后四位)。

 

为了将两点插值公式推广到多点插值问题,公式(4.2.1)可以写成对称形式:

                                 4.2.2

上式被称为拉格朗日线性插值函数。在这一表达式中,是两个函数值的线性组合,组合系数是两个线性函数:,并且

通常,我们称为拉格朗日线性插值基函数。插值基函数在插值节点处满足条件:

即:

公式(4.2.2)揭示了拉格朗日插值的特点,即插值多项式由插值基函数组成,插值基函数是一类简单而有特点的多项式。于是一个插值问题可分解为几个求基函数的特殊插值问题。

4.2.2】已知,计算

解取,则有,利用公式(4.2.2)可以得到:

所以。(查表可得2.6458

2            抛物插值

若已知数据为:(),(),求满足插值条件的二次插值函数。由线性插值的启示及拉格朗日插值公式的特点,可令:

其中,(),为二次多项式,并满足:

                        4.2.3

(),为二次拉格朗日插值基函数。

    由于每个插值基函数的零点都是插值结点,利用待定系数法及零点原理可以写出三个插值基函数。以为例,由公式(4.2.3)可知,插值结点的两个零点,故应有,而在处,的值为1。所以,则,同理可得:

这三个插值基函数是与插值结点有关的二次函数,同样满足:

1。若取02,可绘制出三个基函数在区间[02]上的图形。所以,拉格朗日二次插值函数为:

 

   4.2.4

4.2.3】以知,计算

解取,则有,利用公式(4.2.4)可以得到:

所以。(查表可得2.6458

的准确值相比较,可以发现的误差小。这就需要考虑两个问题:① 通常准确值是不知道的,如何估计误差?② 是不是插值多项式的次数越高,结果越精确?后面要专门讨论这两个问题。

4.2.4】已知,试选用合适的插值结点,利用二次插值多项式计算的近似值,使其有尽可能高的精度。

解 ⑴ 选x0=-1x10x20.5为插值节点,拉格朗日插值基函数为:

l0(x)x(x0.5)

l1(x)=-2(x1)(x0.5)

l2(x)x(x1)

二次插值多项式为:L2(x)l0(x)y0l1(x)y1l2(x)y2

y0y1y2

l0(x)2l1(x)3l2(x)

于是:f(0.5)L2(0.5)l0(0.5)2l1(0.5)3l2(0.5)4/3

⑵ 选x0=-2x1=-1x20为插值节点,拉格朗日插值基函数为:

l0(x)

l1(x)=-

l2(x)

二次插值多项式为:

L2(x)l0(x)y0l1(x)y1l2(x)y2  

2l0(x)l1(x)2l2(x)

于是:f(0.5)L2(0.5)

2l0(0.5)l1(0.5)

2l2(0.5)1.25

两个二次插值函数图形见右图。

若用程序ldk421做三次插值,结果如下:

x0=[-2 -1 0 0.5];y0=[2 1 2 3];

x1=-0.5;ldk421(x0,y0,x1)

ans = 1.3000

3         n次插值

由线性代数的基本理论,所有不高于n次的代数多项式全体组成一个n+1维线性空间,其基有各种不同的取法。如果取满足条件:

()的一组n次代数多项式作为上述线性空间的基(读者试证明,满足上述条件的一组代数多项式必定线性无关),则容易看出:

                        4.2.5

必定是一个次数不高于n次的代数多项式,而且它在结点…,上的值依次为,…。也就是说,由n+1n次代数多项式,…线性生成的多项式(4.2.5),就是满足插值条件的n次代数多项式。

n次代数多项式,称为n次拉格朗日插值基函数,由此构造出的多项式(4.2.5)称为n次拉格朗日插值多项式,记为。与计算二次拉格朗日插值基函数的方法类似,利用待定系数法及零点原理可以求出n次拉格朗日插值基函数的表达式:

n次拉格朗日插值多项式可写成以下形式:

        4.2.6

4.2.5】已知数据列表如下,利用拉格朗日插值公式计算,的值。

1

2

3

4

5

6

7

8

9

10

11

12

12

234

34

1

34

2

5

23

34

9

45

23

解:利用MATLAB程序ldk421,计算出结果:

x=[1:12];fx=[12 243 34 -1 34 2 5 23 34 9 45 23];

x3=[6.5 7.2 11.5];ldk421(x,fx,x3)

f = -2.5590    9.3943  236.6987

4         拉格朗日插值多项式的性质

定理4.2.1 …,n+1个互异的结点,为拉格朗日n次基本插值多项式,则有以下结论:⑴

⑶ 设为任意一个首1n+1次多项式,则:

4.2.2 余项及误差估计

定理4.2.2 若函数在区间上有直到n1阶的导数,n+1个结点处的n次拉格朗日插值多项式,则对任何有余项公式:     4.2.7

其中且依赖于。若,则有误差估计:                           4.2.8

由存在性唯一性定理可知,拉格朗日插值多项式与一般多项式相同,因此拉格朗日插值多项式所确定的余项公式与定理4.1.2给出的一般多项式的余项公式完全一致。同时注意以下问题:

⑴ 若本身就是次数不超过次的多项式,则有:

⑵ 在误差估计公式中,当插值点在某结点的邻域内时,误差可能会很小。而在一般情况下,不能保证误差会很小,这将取决于以及的值,如果的值较大时,误差可能会较大,说明当时,误差不一定趋向于零,即插值多项式随次数的增加不一定收敛于被插值函数。

⑶ 余项公式(4.2.)与泰勒公式余项是不同的,前者涉及到个结点的乘积,而后者仅涉及一个点的次幂。

对线性插值有以下的结论:

且当时,                       4.2.9

但对大多数函数而言,插值余项会随插值结点的增加而减小,因而可以用增加插值结点的方法来提高插值公式的精度。

定理 4.2.3 已知插值结点,则当(等距插值),有:⑴ 线性插值的误差估计为:

⑵ 二次插值多项式的误差估计为:

⑶ 三次插值多项式的误差估计为:

*4.2.3 MATLAB程序

% Lagrange插值公式

function dk=ldk421(x,fx,inx)

n=length(x);

m=length(inx);

for i=1:m;

    z=inx(i);

    s=0.0;

    for k=1:n;

        p=1.0;

        for j=1:n;

        if j~=k

            p=p*(z-x(j))/(x(k)-x(j));

        end

    end

    s=p*fx(k)+s;

end

f(i)=s

end

*4.2.4 理论证明

定理4.2.1 …,n+1个互异的结点,为拉格朗日n次基本插值多项式,则有以下结论:⑴

⑶ 设为任意一个首1n+1次多项式,则:

定理 4.2.3 已知插值结点,则当(等距插值),有:⑴ 线性插值的误差估计为:

⑵ 二次插值多项式的误差估计为:

⑶ 三次插值多项式的误差估计为: