现在的位置: 首页 > 综合 > 正文

拉格朗日插值法

2013年12月02日 ⁄ 综合 ⁄ 共 4407字 ⁄ 字号 评论关闭

一、 问题的背景

在实际问题中常遇到这样的函数y=f(x),其在某个区间[a,b]上是存在的。但是,通过观察或测量或试验只能得到在区间[a,b]上有限个离散点x0 ,x1 ,…,xn 上的函数值yi =f(xi ) ,(i=0,1,…,n) 。 或者f(x)的函数f(x)表达式是已知的,但却很复杂而不便于计算;希望用一个既能反映函数f(x)的特性,又便于计算的简单函数来描述它。 

    二、插值问题的数学提法:

已知函数在n+1个点x0 ,x1 ,…,xn 上的函数值
       yi =f(xi ), (i=0,1,…,n) 
求一个简单函数y=P(x),使其满足:
        P(xi )=yi ,(i=0,1,…,n) 。
即要求该简单函数的曲线要经过y=f(x)上已知的这个n+1个点: 
      (x0 ,y0 ),(x1 ,y1 ),…,(xn ,yn ),
同时在其它x∈[a,b]上要估计误差:
             R(x) = f(x) - P(x) 
其中P(x)f(x)的插值函数,x0 ,x1 ,…,xn 称为插值节点,包含插值节点的区间[a,b] 称为插值区间,求插值函数P(x)的方法称为插值法。若P(x)是次数不超过n的代数多项式,就称P(x)为插值多项式,相应的插值法称为多项式插值。若P(x)是分段的多项式,就是分段插值。若P(x)是三角多项式,就称三角插值。

    三、插值方法面临的几个问题

第一个问题:根据实际问题选择恰当的函数类。本章我们选择代数 多项式类,其原因有两个:(1) 代数多项式类简单;微分、积分运算易于实行;(2) 根据著名的Weierstrass逼近定理,任何连续的函数都可以用代数多项式作任意精确的逼近。

第二个问题:构造插值函数P(x),使其满足:P(xi )=yi ,(i=0,1,…,n)与此相关的问题是:插值问题是否可解(存在性的问题),如果有解, 是否唯一?(唯一性的问题)

第三个问题:插值误差R(x)=f(x)-P(x)的估计问题。与此相关的问题是插值过程的收敛性的问题。

                             第一节 拉格朗日插值公式
    一.线性插值(一次插值)
    已知函数f(x)在区间[xk ,xk+1 ]的端点上的函数值yk =f(xk ), yk+1 = f(xk+1 ),求一个一次函数y=P1 (x)使得yk =f(xk ),yk+1 =f(xk+1 ), 其几何意义是已知平面上两点(xk ,yk ),(xk+1 ,yk+1 ),求一条直线过该已知两点。

    1. 插值函数和插值基函数
由直线的点斜式公式可知: 

          

把此式按照 yk 和yk+1 写成两项:
          

          
并称它们为一次插值基函数。该基函数的特点如下表: 
          
从而
         P1 (x) = yk lk (x) + yk+1 lk+1 (x)

此形式称之为拉格朗日型插值多项式。其中, 插值基函数与yk 、yk+1 无 关,而由插值结点xk 、xk+1 所决定。一次插值多项式是插值基函数的线性组合, 相应的组合系数是该点的函数值yk、yk+1 .

例1: 已知lg10=1,lg20=1.3010, 利用插值一次多项式求lg12的近似值。

解: f(x)=lgx,f(10)=1,f(20)=1.3010, 
          x0 =10 ,x1 =20 ,y0 =1 ,y1 =1.3010
则插值基函数为:
          
于是, 拉格朗日型一次插值多项式为:
          
故 :
          
lg12 由lg10 lg20 两个值的线性插值得到,且具有两位有效数字(精确值lg12=1.0792).

    二.二次插值多项式
    已知函数y=f(x)在点xk-1 ,xk ,xk+1 上的函数值yk-1 =f(xk-1 ),yk =f(xk ), yk+1 =f(xk+1 ), 求一个次数不超过二次的多项式P2 (x), 使其满足,

             P2 (xk-1 )=yk-1 , P2 (xk )=yk , P2 (xk+1 )=yk+1 .

其几何意义为:已知平面上的三个点
             (xk-1 ,yk-1 ),(xk ,yk ),(xk+1 ,yk+1 ),

求一个二次抛物线, 使得该抛物线经过这三点。
    1.插值基本多项式
有三个插值结点xk-1 ,xk ,xk+1 构造三个插值基本多项式,要求满足:

(1) 基本多项式为二次多项式; (2) 它们的函数值满足下表: 
               
因为lk-1 (xk )= 0,lk-1 (xk+1 )=0, 故有因子(x-xk )(x-xk+1 ), 而其 已经是一个二次多项式, 仅相差一个常数倍, 可设
              lk-1 (x)=a(x-xk )(x-xk+1 ),
又因为
               lk-1 (xk-1 )=1 ==> a(xk-1 -xk )(xk-1 -xk+1 )=1
得 
                

从而

同理得

基本二次多项式见右上图(点击按钮“显示Li”)。

    2. 拉格朗日型二次插值多项式 
由前述, 拉格朗日型二次插值多项式:
                P2 (x)=yk-1 lk-1 (x)+yk lk (x)+yk+1 lk+1 (x),P2 (x)
是三个二次插值多项式的线性组合,因而其是次数不超过二次的多项式,且满足:
                P2 (xi )=yi , (i=k-1,k,k+1) 。
例2 已知:
                xi         10      15             20

                yi=lgxi    1    1.1761         1.3010

利用此三值的二次插值多项式求lg12的近似值。
解:设x0 =10,x1 =15,x2 =20,则: 
      
故:
       
      

所以

      
7利用三个点进行抛物插值得到lg12的值,与精确值lg12=1.0792相比,具有3位有效数字,精度提高了。

    三、拉格朗日型n次插值多项式
已知函数y=f(x)n+1个不同的点x0 ,x1 ,…,x2 上的函数值分别为

y0 ,y1 ,…,yn ,求一个次数不超过n的多项式Pn (x),使其满足:

         Pn (xi )=yi , (i=0,1,…,n),

n+1个不同的点可以唯一决定一个n次多项式。
    1. 插值基函数
n+1个不同的点分别决定n+1n次插值基函数
          l0 (x),l1 (x),…,ln (X)
每个插值基本多项式li (x)满足:

   (1) li (x)n次多项式;

   (2) li (xi )=1,而在其它nli (xk )=0 ,(k≠i)

由于li (xk )=0 ,(k≠i), 故有因子: 

         (x-x0 )…(x-xi-1 )(x-xi+1 )…(x-xn )

因其已经是n次多项式,故而仅相差一个常数因子。令:
          li (x)=a(x-x0 )…(x-xi-1 )(x-xi+1 )…(x-xn )

li (xi )=1,可以定出a, 进而得到: 

          

2. n次拉格朗日型插值多项式Pn (x)

Pn (x)n+1n次插值基本多项式l0 (x),l1 (x),…,ln (X)的线性组合,相应的组合系数是y0 ,y1 ,…,yn 。即:

          Pn (x)=y0 l0 (x)+y1 l1 (x)+…+yn ln (x) ,

从而Pn (x)是一个次数不超过n的多项式,且满足

          Pn (xi )=yi , (i=0,1,2,…,n).

    例3 求过点(2,0),(4,3),(6,5),(8,4),(10,1)的拉格朗日型插值多项式。
解 用4次插值多项式对5个点插值。
                 

   
所以
           

    四、拉格朗日插值多项式的截断误差
我们在[a,b]上用多项式Pn (x) 来近似代替函数f(x), 其截断误差记作 
      Rn (x)=f(x)-Pn (x) 
x在插值结点xi 上时Rn (xi )=f(xi )-P n(xi )=0,下面来估计截断误差:

定理1:设函数y=f(x)的n阶导数y(n) =f(n) (x)[a,b]上连续,
     y(n+1) = f(n+1) (x)
(a,b)上存在;插值结点为:
    a≤x0 <x1 <…<xn ≤b, 
Pn (x)n次拉格朗日插值多项式;则对任意x∈[a,b]有: 
       
其中ξ∈(a,b), ξ依赖于x:ωn+1 (x)=(x-x0 )(x-x1 )…(x-xn )

证明:由插值多项式的要求:
      Rn(xi )=f(xi )-Pn (xi )=0,(i=0,1,2,…,n);

      Rn (x)=K(x)(x-x0 )(x-x1 )…(x-xn )=K(x)ωn+1 (x)

其中K(x)是待定系数;固定x∈[a,b]x≠xk ,k=0,1,2,…,n;作函数

       H(t)=f(t)-Pn (t)-K(x)(t-x0 )(t-x1 )…(t-xn )

则 H(xk )=0,(k=0,1,2,…,n), 且H(x)=f(x)-Pn (x)-Rn(x)=0, 所以,

H(t)[a,b]上有n+2个零点,反复使用罗尔中值定理:存在ξ∈(a,b),

使; 因Pn (x)n次多项式,故P(n+1) (ξ)=0, 而 

       ωn+1 (t)=(t-x0 )(t-x1 )…(t-xn )

是首项系数为1的n+1次多项式,故有

        
于是
        H(n+1) (ξ)=f(n+1)(ξ)-(n+1)!K(x)
得:
        
所以
         

设 , 则:

        
易知,线性插值的截断误差为:
         
二次插值的截断误差为:
        
下面来分析前面两个例子(例1,例2)中计算lg12的截断误差:
在例1中,用lg10lg20计算lg12,
       P1(12)=1.0602,lg12=1.0792

       e=|1.0792-1.0602|=0.0190;
估计误差:f(x)=lgx, 
       ,当x∈[10,20]时,  
       

在例2中,用lg10,lg15lg20计算lg12.
        P2(12)=1.0766,

      e = |1.0792-1.0766|=0.0026
估计误差:
        

抱歉!评论已关闭.