12.5埃尔米特插值有些实际的插值问题不但要求在节点上函数值相等,下面只讨论函数值与导数值个数相等的情况.满足这种要求的插值多项式就是埃尔米特插值多项式.而且还要求对应的导数值也相等,甚至要求高阶导数也相等.2),,,1,0(,)(,)(njmxHyxHjjjj(5.1)这里共有个插值条件,可唯一确定一个次数不超过22n的多项式,12n)()(12xHxHn),,,1,0()(njxfmjj问题是求插值多项式,)(xH设在节点上,),(jjxfybxxxan10.)(12121012nnnxaxaaxH现在仍采用求拉格朗日插值多项式的基函数方法.满足条件其形式为3,,1,,0)(kjkjxjkkj将满足条件(5.1)的插值多项式写成用插值基函数表示的形式)()(12xHxHn.)]()([)(012njjjjjnxmxyxH(5.3)先求出个插值基函数及,)(xj),,1,0()(njxj22n每一个基函数都是次多项式,12n且满足条件;0)(kjx,0)(kjxjkkjx)((5.2)).,,1,0,(nkj4令),()()(2xlbaxxjj由条件(5.2),有,1)()()(2jjjjjxlbaxx,0)]()(2)()[()(jjjjjjjjjxlbaxxalxlx由插值基函数所满足的条件(5.2),有),,1,0(,)(,)(1212nkmxHyxHkknkkn下面的问题就是如何求出这些基函数及)(xj),(xj利用拉格朗日插值基函数).(xlj5解出).(21),(2jjjjjxlxbxla由于,)())(()()())(()()(110110njjjjjjnjjjxxxxxxxxxxxxxxxxxl整理得.0)(2;1jjjxlabax6于是).()1)(21()(20xlxxxxxjnjkkkjjj(5.4)两端取对数再求导,得,1)(0njkkkjjjxxxl同理,可得).()()(2xlxxxjjj(5.5)7可以证明满足条件(5.1)的插值多项式是惟一的.用反证法,假设及均满足条件(5.1),)(12xHn)(12xHn)()()(1212xHxHxnn这样,有重根,但是不高于次的多项式,)(x22n)(x12n于是在每个节点上的值及导数值均为零,即为二重根.kxkx.0)(x故惟一性成立.8其中且与有关.),(bax若在内的阶导数存在,则其插值余项)(xf),(ba22n)()!22()()()()(21)22(12xnfxHxfxRnnn(5.6)仿照拉格朗日插值余项的证明方法,可以证明:9插值多项式(5.3)的重要特例是的情形.1n这时可取节点为及,kx1kx插值多项式为,)(3xH,)(3kkyxH,)(3kkmxH.)(;)(113113kkkkmxHyxH(5.7)相应的插值基函数为),(),(),(),(11xxxxkkkk它们满足条件满足10,0)(,1)(1kkkkxx;0)()(111kkkkxx,1)(,0)(111kkkkxx,0)()(1kkkkxx,0)()(111kkkkxx,0)()(1kkkkxx,0)(,1)(1kkkkxx.1)(,0)(111kkkkxx11.21)(,21)(211112111kkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxx(5.8).)(,)(2111211kkkkkkkkkkxxxxxxxxxxxxxx(5.9)根据及的一般表达式(5.4)及(5.5),)(xj)(xj可得到12),()()()()(11113xmxmxyxyxHkkkkkkkk(5.10)其余项,)()()(33xHxfxR).,(,)())((!41)(1212)4(3kkkkxxxxxxfxR于是满足条件(5.7)的插值多项式是由(5.6)得13求满足及)2,1,0()()(jxfxPjj)()(11xfxP由给定的4个条件,可确定次数不超过3的插值多项式.由于此多项式通过点)),(,()),(,()),(,(221100xfxxfxxfx)](,[)()(0100xxxxfxfxP))(](,,[10210xxxxxxxf的插值多项式及其余项表达式.例4故其形式为),)()((210xxxxxxA14.))((],,[)(],[)(210121001101xxxxxxxfxxxxfxfA待定常数,可由条件确定,)()(11xfxPA其中为待定函数.)(xk为了求出余项的表达式,)()()(xPxfxR),())()(()(2210xxxxxxxkxR通过计算可得可设15).())()(()()()(2210xtxtxtxktPtft显然),2,1,0(0)(jxj故在内有5个零点(二重根算两个).)(t),(ba,0)(!4)()()4()4(xkf反复应用罗尔定理,得在内至少有一个零点ξ,)()4(t),(ba构造,0)(,0)(1xx且故有16),())()((!41)(2210)4(xxxxxxfxR(5.11)式中位于和所界定的范围内.210,,xxxx余项表达式为于是),(!41)()4(fxk172.6分段低次插值2.6.1高次插值的病态性质这是因为对任意的插值节点,当时,不一定收敛到.n)(xLn)(xf在次数增加时逼近的精度不一定也增加.n)(xf根据区间上给出的节点做出的插值多项式),(xLn],[ba18),,1,0(,105nknkxk所构造的拉格朗日插值多项式为以上的个等距节点]5,5[1n考虑函数,它在上的各阶导数均存在.]5,5[)1/(1)(2xxf.)()()(11)(1102jnjnnjjnxxxxxxL令),(2112/1nnnxxx,552/1nxn则19表2-5列出了时的的计算结果及20,,4,2n)(2/1nnxL在上的误差2/1nx).(2/1nxR994889.39952449.39042440.020080751.20123671.20042920.018217397.10173867.10043530.016288409.5332743.5044334.014800440.2755000.2045440.012531662.1578721.1047059.010880668.0831017.0049651.08553416.0607879.0054463.06423216.0356826.0066390.04621684.0759615.0137931.02)()()(2/12/12/1nnnnxRxLxfn5表220可见,随的增加,的绝对值几乎成倍增加.n)(2/1nxR这说明当时在上是不收敛的.nnL]5,5[Runge证明了,存在一个常数,使得当63.3ccx时,而当时发散.cx)(xLn),()(limxfxLnn21取根据计算画出及,10n)1/(12xy)(10xLy在上的图形,见图2-5.]5,5[图2-522从图上看到,在附近,与5x)(10xL)1/(1)(2xxf偏离很远,这说明用高次插值多项式近似效果并不好.)(xLn)(xf通常不用高次插值,而用分段低次插值.23下图是用Matlab完成的Lagrange插值(附程序):24附:Lagrange插值程序n=11;m=61;x=-5:10/(m-1):5;y=1./(1+x.^2);z=0*x;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y1=lagr1(x0,y0,x);plot(x,z,’r’,x,y,’k:’,x,y1,’r’)gtext(‘Lagr.’),gtext(‘y=1/(1+x^2)’)title(‘Lagrange’)25附:Lagrange插值子程序lagr1:functiony=lagr1(x0,y0,x)n=length(x0);m=length(x);fori=1:mz=x(i);s=0.0;fork=1:np=1.0;forj=1:nifj~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;end262.6.2分段线性插值所谓分段线性插值就是通过插值点用折线段连接起来逼近).(xf由于升高插值多项式的阶数有时并不能达到提高精度的效果,所以实际中往往采用分段插值的思想.分段插值的基本思想是将插值区间划分为若干个小区间,然后在每个小区间上做满足一定条件的低阶插值.27设已知节点上的函数值bxxxan10,,,,10nfff记,max,1kkkkkhhxxh],,[)(.1baCxIh)(xIh求一折线函数,满足:kkhfxI)(.2),,,1,0(nk在每个小区间上是线性函数.)(.3xIh],[1kkxx则称为分段线性插值函数.)(xIh28由定义可知在每个小区间上可表示为)(xIh],[1kkxx1111)(kkkkkkkkhfxxxxfxxxxxI).(1kkxxx(6.1)若用插值基函数表示,则在整个区间上为],[ba)(xIh,)()(0njjjhxlfxI(6.2)其中基函数满足条件)(xlj),,,1,0,()(nkjxljkkj其形式是29);0(1略去jxxxjj);(1略去njxxxjj].,[],,[11jjxxxbax,0,,)(1111jjjjjjjxxxxxxxxxl(6.3)利用插值余项(2.17)得到分段线性插值的误差估计))((max2)()(max1211kkxxxhxxxxxxxMxIxfkkkk30或写成,8)()(max22hMxIxfhbxa(6.4)其中.)(max2xfMbxa31),()()(110xlxlxlkknjj当时,],[1kkxxx故).()]()([)(1xfxlxlxfkk另一方面,这时).()()(11xlfxlfxIkkkkh这种性质称为局部非零性质.分段线性插值基函数只在附近不为零,在其他地方均为零,)(xljjx利用的局部非零性质及知,)(xljnjjxl0)(132现在证明,)()(limxfxIhn)()()()]()([)()(111xlfxlfxfxlxlxIxfkkkkkkh)()]()([1kkkhxlxl这里是函数在区间上的连续模,即对任意)(h)(xf],[ba两点,只要就有],[,baxx,hxx考虑11)()()()(kkkkfxfxlfxfxl)(kh).(h33),()()(hxfxf称为在上的连续模,)(h)(xf],[ba当时,],[