(完整word版)⼏种插值法的应⽤和⽐较插值法的应⽤与⽐较信科1302 万贤浩 132710381格朗⽇插值法在数值分析中,拉格朗⽇插值法是以法国⼗⼋世纪数学家约瑟夫·路易斯·拉格朗⽇命名的⼀种多项式插值⽅法.许多实际问题中都⽤函数来表⽰某种内在联系或规律,⽽不少函数都只能通过实验和观测来了解.如对实践中的某个物理量进⾏观测,在若⼲个不同的地⽅得到相应的观测值,拉格朗⽇插值法可以找到⼀个多项式,其恰好在各个观测的点取到观测到的值.这样的多项式称为拉格朗⽇(插值)多项式.数学上来说,拉格朗⽇插值法可以给出⼀个恰好穿过⼆维平⾯上若⼲个已知点的多项式函数.拉格朗⽇插值法最早被英国数学家爱德华·华林于1779年发现,不久后由莱昂哈德·欧拉再次发现.1795年,拉格朗⽇在其著作《师范学校数学基础教程》中发表了这个插值⽅法,从此他的名字就和这个⽅法联系在⼀起.1.1拉格朗⽇插值多项式图1已知平⾯上四个点:(?9, 5), (?4, 2), (?1, ?2), (7, 9),拉格朗⽇多项式:)(x L (⿊⾊)穿过所有点.⽽每个基本多项式:)(00x l y ,)(11x l y , )(22x l y 以及)(x l y ??各穿过对应的⼀点,并在其它的三个点的x 值上取零.对于给定的若1+n 个点),(00y x ,),(11y x ,………),(n n y x ,对应于它们的次数不超过n 的拉格朗⽇多项式L 只有⼀个.如果计⼊次数更⾼的多项式,则有⽆穷个,因为所有与L 相差))((10x x x x --λ……)(n x x -的多项式都满⾜条件.对某个多项式函数,已知有给定的1+k 个取值点:),(00y x ,……,),(k k y x ,其中i x 对应着⾃变量的位置,⽽i y 对应着函数在这个位置的取值.假设任意两个不同的i x 都互不相同,那么应⽤拉格朗⽇插值公式所得到的拉格朗⽇插值多项式为:)()(0x l y x L j kj j ∑==,其中每个)(x l j 为拉格朗⽇基本多项式(或称插值基函数),其表达式为:)()()()()()()()()(111100,0k j k j j j j j j j kj i i ij i j x x x x x x x x x x x x x x x x x x x x x l --------=--=++--≠=∏ΛΛ,拉格朗⽇基本多项式()x l i 的特点是在j x 上取值为1,在其它的点i x ,j i ≠ 上取值为0. 例:设有某个多项式函数f ,已知它在三个点上的取值为:10)4(=f , ? 25.5)5(=f , ?1)6(=f ,要求)18(f 的值.⾸先写出每个拉格朗⽇基本多项式:())64)(54()6)(5(0----=x x x l ;())65)(45()6)(4(1----=x x x l ;())56)(46()5)(4(2----=x x x l ;然后应⽤拉格朗⽇插值法,就可以得到p 的表达式(p 为函数f 的插值函数):)()6()()5()()4()(210x l f x l f x l f x p ++=)56)(46()5)(4(1)65)(45()6)(4(25.5)64)(54()6)(5(10----?+----?+----?=x x x x x x)13628(412+-=x x ,此时数值18就可以求出所需之值:11)18()18(-==p f .1.2插值多项式的存在性与唯⼀性存在性对于给定的1+k 个点:),(),,(00k k y x y x K 拉格朗⽇插值法的思路是找到⼀个在⼀点j x 取值为1,⽽在其他点取值都是0的多项式)(x l j .这样,多项式)(x l y j j 在点j x 取值为j y ,⽽在其他点取值都是0.⽽多项式()∑==kj jj x ly x L 0)(就可以满⾜∑==++++==ki j j j i y y x l y x L 0000)()(ΛΛ,在其它点取值为0的多项式容易找到,例如:)())(()(110k j j x x x x x x x x ----+-ΛΛ,它在点j x 取值为:)()()(10k j j j i x x x x x x ---+ΛΛ.由于已经假定i x 两两互不相同,因此上⾯的取值不等于0.于是,将多项式除以这个取值,就得到⼀个满⾜“在j x 取值为1,⽽在其他点取值都是0的多项式”:)()()()()()()()(111100k j k j j j j j j j i j j x x x x x x x x x x x x x x x x x x xx l --------=--=++--∏ΛΛ,这就是拉格朗⽇基本多项式. 唯⼀性次数不超过k 的拉格朗⽇多项式⾄多只有⼀个,因为对任意两个次数不超过k 的拉格朗⽇多项式:1p 和2p ,它们的差21p p -在所有1+k 个点上取值都是0,因此必然是多项式)())((10k x x x x x x ---Λ的倍数.因此,如果这个差21p p -不等于0,次数就⼀定不⼩于1+k .但是21p p -是两个次数不超过k 的多项式之差,它的次数也不超过k ,所以021=-p p 也就是说21p p =.这样就证明了唯⼀性.1.3性质拉格朗⽇插值法中⽤到的拉格朗⽇基本多项式n l l l ,,,10Λ(由某⼀组n x x x <<<Λ10 确定)可以看做是由次数不超过n 的多项式所组成的线性空间:[]X n K 的⼀组基底.⾸先,如果存在⼀组系数:n λλλ,,,10Λ使得,01100=+++=n n l l l P λλλΛ,那么,⼀⽅⾯多项式p 是满⾜n n x P x P x P λλλ===)(,,)(,)(1100Λ的拉格朗⽇插值多项式,另⼀⽅⾯p 是零多项式,所以取值永远是0.所以010====n λλλΛ,这证明了n l l l ,,,10Λ是线性⽆关的.同时它⼀共包含1+n 个多项式,恰好等于[]X n K 的维数.所以n l l l ,,,10Λ构成了[]X n K 的⼀组基底.拉格朗⽇基本多项式作为基底的好处是所有的多项式都是齐次的(都是n 次多项式).1.4优点与缺点拉格朗⽇插值法的公式结构整齐紧凑,在理论分析中⼗分⽅便,然⽽在计算中,当插值点增加或减少⼀个时,所对应的基本多项式就需要全部重新计算,于是整个公式都会变化,⾮常繁琐.这时可以⽤重⼼拉格朗⽇插值法或⽜顿插值法来代替.此外,当插值点⽐较多的时候,拉格朗⽇插值多项式的次数可能会很⾼,因此具有数值不稳定的特点,也就是说尽管在已知的⼏个点取到给定的数值,但在附近却会和“实际上”的值之间有很⼤的偏差.这类现象也被称为龙格现象,解决的办法是分段⽤较低次数的插值多项式.2 重⼼拉格朗⽇插值法重⼼拉格朗⽇插值法是拉格朗⽇插值法的⼀种改进.在拉格朗⽇插值法中,运⽤多项式)())(()(10k x x x x x x x l ---=Λ,图(2)拉格朗⽇插值法的数值稳定性:如图(2),⽤于模拟⼀个⼗分平稳的函数时,插值多项式的取值可能会突然出现⼀个⼤的偏差(图中的14⾄15中间)可以将拉格朗⽇基本多项式重新写为:∏≠=--=kji i i j jj x x x x x l x l ,0)(1)()(,定义重⼼权∏≠=-=k ji i i j j x x ,0)(1ω,上⾯的表达式可以简化为:jjj x x x l x l -=ω)()(,于是拉格朗⽇插值多项式变为:j kj jjy xx x l x L ∑=-=0)()(ω,(1)即所谓的重⼼拉格朗⽇插值公式(第⼀型)或改进拉格朗⽇插值公式.它的优点是当插值点的个数增加⼀个时,将每个j ω都除以)(1+-k j x x ,就可以得到新的重⼼权1+k ω,计算复杂度为)(n O ,⽐重新计算每个基本多项式所需要的复杂度)(2n O 降了⼀个量级.将以上的拉格朗⽇插值多项式⽤来对函数1)(≡x g 插值,可以得到:∑=-=?kj jjx x x l x g x 0)()(,ω,因为1)(≡x g 是⼀个多项式. 因此,将)(x L 除以)(x g 后可得到:∑∑==--=k j jjk j jjx x x x x L 00)(ωω,(2)这个公式被称为重⼼拉格朗⽇插值公式(第⼆型)或真正的重⼼拉格朗⽇插值公式.它继承了(1)式容易计算的特点,并且在代⼊x 值计算)(x L 的时候不必计算多项式)(x l 它的另⼀个优点是,结合切⽐雪夫节点进⾏插值的话,可以很好地模拟给定的函数,使得插值点个数趋于⽆穷时,最⼤偏差趋于零.同时,重⼼拉格朗⽇插值结合切⽐雪夫节点进⾏插值可以达到极佳的数值稳定性.第⼀型拉格朗⽇插值是向后稳定的,⽽第⼆型拉格朗⽇插值是向前稳定的,并且勒贝格常数很⼩.3.分段线性插值对于分段线性插值,我们看⼀下下⾯的情况.3.1问题的重诉已知211)(xx g +=,66≤≤-x ⽤分段线性插值法求插值,绘出插值结果图形,并观察插值误差.1.在[-6,6]中平均选取5个点作插值;2.在[-6,6]中平均选取11个点作插值;3.在[-6,6]中平均选取21个点作插值;4.在[-6,6]中平均选取41个点作插值.3.2问题的分析在数值计算中,已知数据通常是离散的,如果要得到这些离散点以外的其他点的函数值,就需要根据这些已知数据进⾏插值.⽽本题只提供了取样点和原函数)(x g .分析问题求解⽅法如下:(1)利⽤已知函数式211)(xx g +=计算取样点X 对应的函数值Y ;将Y X ,作为两个等长的已知向量,分别描述采样点和样本值.因此被插值函数是⼀个单变量函数,可利⽤⼀维插值处理该数据插值问题.⼀维插值采⽤的⽅法通常有拉格朗⽇多项式插值(本题采⽤3次多项式插值),3次样条插值法和分段线性插值.(2)分别利⽤以上插值⽅法求插值.以0.5个单位为步长划分区间[-6,6],并将每⼀点作为插值函数的取样点.再根据插值函数计算所选取样点的函数值.最后再利⽤所得函数值画出相应的函数图象,并与原函数)(x g 的图象进⾏对⽐.3.3问题的假设为了解决上述分析所提到的问题,本题可以作出如下假设:(1)假设原函数)(x g 仅作为求解取样点对应的样点值的函数关系式.⽽其他各点的函数值都是未知量,叙⽤插值函数计算.(2)为了得到理想的对⽐函数图象,假设)(x g 为已知的标准函数.可以选取0.5个单位为步长划分区间[-6,6],分别计算插值函数和标准函数)(x g 在该区间的取样点的函数值.画出函数图象进⾏对⽐.3.4分段线性插值原理给定区间[]b a ,, 将其分割成b x x x a n =<<<=Λ10,已知函数)(x f y =在这些插值结点的函数值为),1,0)((n k x f y k k Λ==;求⼀个分段函数)(x I k ,使其满⾜:(1) k k h y x I =)(,),1,0(n k Λ=;(2) 在每个区间[]1,+k k x x 上, )(x I h 是个⼀次函数.易知,)(x I h 是个折线函数, 在每个区间[]1,+k k x x 上,),1,0(n k Λ=1111)(++++--+--=k kk kk k k k k h y x x x x y x x x x x I ,于是, )(x I h 在[]b a ,上是连续的,但其⼀阶导数是不连续的. 于是即可得到如下分段线性插值函数:)()(0x l y x I ni i i n ∑==,其中=≤≤--=≤≤--=+++---.,0;,;0,111111其他时舍去时,且当时舍去时,且当n i x x x x x x x i x x x xx x x l i i i i i i i i ii i3.5问题的求解在MATLAB 中实现分段线性插值,最近点插值,3次多项式插值,3次样条插值的命令为interp 1,其调⽤格式为: Y 1=interp 1(X ,Y ,X 1,’method ’)函数根据X ,Y 的值,计算函数在X 1处的值.X ,Y 是两个等长的已知向量,分别描述采样点和样本值,X 1是⼀个向量或标量,描述欲插值点,Y 1是⼀个与X 1等长的插值结果.method 是插值⽅法,包括:linear :分段线性插值.它是把与插值点靠近的两个数据点⽤直线连接,然后在直线让选取对应插值点的数.nearest :近点插值法.根据已知两点间的插值点与这两点间的位置远近插值.当插值点距离前点远时,取前点的值,否则取后点的值.cubic :3次多项式插值.根据已知数据求出⼀个3次多项式,然后根据多项式进⾏插值. spline :3次样条插值.在每个分段(⼦区间)内构造⼀个3次多项式,使其插值函数除满⾜插值条件外,还要求个节点处具有光滑条件.再根据已知数据求出样条函数后,按照样条函数插值.运⽤Matlab ⼯具软件编写代码,并分别画出图形如下: (⼀)在[-6,6]中平均选取5个点作插值:-10-5051000.20.40.60.81分段线性插值g(x)y1-10-50510-0.500.513次样条插值g(x)y2-10-5051000.20.40.60.81最近点插值g(x)y3-10-5051000.20.40.60.813次多项式插值g(x)y4(⼆)在[-6,6]中平均选取11个点作插值:-10-5051000.20.40.60.81-10-5051000.20.40.60.81-10-5051000.20.40.60.81最近点插值-10-5051000.20.40.60.813次多项式插值g(x )y1g(x )y2g(x )y3g(x )y4(三)在[-6,6]中平均选取21个点作插值:-10-5051000.20.40.60.81分段线性插值-10-551000.20.40.60.813次样条插值-10-551000.20.40.60.81最近点插值-10-551000.20.40.60.813次多项式插值g(x )y1g(x )y2g(x )y3g(x )y4(四)在[-6,6]中平均选取41个点作插值-10-5051000.20.40.60.81g(x )y1-10-5051000.20.40.60.81g(x )y2-10-5051000.20.40.60.81最近点插值g(x )y3-10-5051000.20.40.60.813次多项式插值g(x )y43.6 分段插值⽅法的优劣性分析从以上对⽐函数图象可以看出,分段线性插值其总体光滑程度不够.在数学上,光滑程度的定量描述是函数(曲线) 的k 阶导数存在且连续,则称该曲线具有k 阶光滑性.⼀般情况下,阶数越⾼光滑程度越好.分段线性插值具有零阶光滑性,也就是不光滑.3次样条插值就是较低次数的多项式⽽达到较⾼阶光滑性的⽅法.总体上分段线性插值具有以下特点:优点: 1.分段线性插值在计算上具有简洁⽅便的特点.2.分段线性插值与3次多项式插值函数在每个⼩区间上相对于原函数都有很强的收敛性,(舍⼊误差影响不⼤),数值稳定性好且容易在计算机上编程实现等优点缺点: 分段线性插值在节点处具有不光滑性的缺点(不能保证节点处插值函数的导数连续),从⽽不能满⾜某些⼯程技术上的要求.⽽3次样条插值却具有在节点处光滑的特点.。