《数值分析教案.docx》由会员分享,可在线阅读,更多相关《数值分析教案.docx(10页珍藏版)》请在优知文库上搜索。
1、Newton插值多项式利用插值基函数很容易得到拉格朗日插值多项式,拉格朗日插值公式结构紧凑,在理论分析中甚为方便,但当插值节点增减时全部插值基函数4(x)(,=o,几)均要随之变化,不得不重新计算所有插值基函数4G),这在实际计算中是很不方便的,为了克服这一缺点,引入了出具有承袭性质的牛顿插值多项式,首先介绍在牛顿插值中需要用到的差商计算。差商设有函数/(x),玉),不入2,为一系列互不相等的点,称f(x)-f(Xj)一X7(ij)为/(%)关于点七,勺的一阶差商,记为即C-于(Xi)-于(Xj),即1-14)类似于高阶导数的定义,称一阶差商的差商/知引-3J%-Xk为/(X)关于巧,Xj,X
2、k的二阶差商,记为了回.一般地,称/lx。,Xk-I1/%,工2,,,”火1为f(x)关于XO,王,4的Z阶差商,记为/xXx=/0,九,”&_一/%,尤2,工攵-函数/(X)关于XO的零阶差商即为函数/(X)在/的函数值,/=()0容易证明,差商具有下述性质:(1)各阶差商均具有线性性,即若/()=w()+匕(%),则对任意正整数h都有/,玉,=%,Xn+人IXO,西,%上阶差商几%,知,川可表示成),(%),/(“)的线性组合。小,/,=9/(巧一XO)(巧为T)(Xj巧+1)(巧4)_勺f(%)i=0既+1(Xj)苴中巩+Q)=I(七一X1。/=Oy用归纳法可以证明这一性质。左=1是显然
3、的。k=2时/x0,x1-x1,x2/,*,12=J/()-)/(x1)-(x2)-%2c)2一)IfM( 一XI)(Xo -) (Xl - Xo)(Xl -) (x2-x0)(x2-)各阶差商均具有对称性,即改变节点的位置,差商值不变。如(1-16)fi,j=fj.ifxi,xj,xk=fxi.xk.xj=fxj,七,Xk(4)若/()是n次多项式,则一阶差商/羽是一1次多项式。事实上,如果/(%)是次多项式,则P(X)=/(%)-/(Xi)也是次多项式,且P(Xi)二。于是可分解为P(X)=(X七)ELI(X)其中CLl(X)为一1次多项式。所以X-XjX-Xj为一1次多项式。计算差商按照
4、差商定义,用两个k-1阶差商的值计算k阶差商,通常用差商表的形式计算和存放(见表1)。由于差商对节点具有对称性,可以任意选择两个k-1差商的值计算k阶差商。rr 1/X1 ,X2 1 - tx0,尤1 1_ flXO,%2 1 l X 1J Llo M1 ,A2 J X2 - XqX2 -X1(M8)表1差商表Xk加&)一阶差商一阶差商二阶差商四阶差商XOf(xo)Xlf(xi)fX0,XlX2f(X2)fXl,X2fX0,Xl,X21X3f(X3)fX2,X3fxl,x2,x3fTX0,Xl,X2,X31X4X5f(X4)f(X5)fX3,X4fX45fX2,X3,X4fX3,X4,X5fX
5、l,X2,X3,X4fX2,X3,X4,X5fX0,Xl,X2,X3,X4fXl,X2,X3,X4,X5【例1】给定函数y=f()的函数表X-2012/(X1171217写出函数y=/(%)的差商表。解差商表如下:(写牛顿插值多项式)f(i)1阶差商2阶差商3阶差商-21701-812132171571牛顿插值(根据差商定义推导牛顿插值多项式)根据差商定义,把X看成a,b上一点,可得X-X0左右两端乘(x-)移项得/(X)=/(x0)+fx.X0(x-X0),二阶差商:/TyyY17.,/一/其。,石J1尤,J-二整理得:fx.=/,XJ+/羽,Xj(X玉),同理:/x,xosx,7-1=xo
6、,x1,xj+x,xosxj(x-x)只要把后一式代入前一式,就得到/(x)=,f(Xo)+4,Xj(X-Xo)+/当,。一)(x-)+/xo,x19xj(x-xo)(x-xzl-1)+/x,/,M,,Z%+1(X)=Nn(x)+Rn(X)其中Nn(X)=f()+/*(X-/)+fx0,xpx2(x-x0)(x-%1)+(1-19)(1-20)+/xosxj(x-xo)(x-x,1)Rn(X)=/(%)-Nn(X)=/x,XO,Z%+(X)0+(x)=(X-Xo)(X-X)(X-Z)f(x)=Nn(x)+Rfj(X)显然,N(乃是至多次的多项式。而由Rn(X)=%(七)/IX,%1,%,为=(
7、i=0,1,2,)即得/(W)=Nz7(Xj)=0,1,2,)。这表明M(X)满足插值条件Nn(Xi)=f(Xi)=yj因而它是/(X)的次插值多项式。这种形式的插值多项式称为Newton插值多项式。NeWton插值优点:每增加一个节点,插值多项式只增加一项,即NMG)=M(%)+(%-%o)(冗一石)(4一ZvUO,%,,:因此便于递推运算。而且Newton插值的计算量小于Lagrange插值。由插值多项式的唯一性可知,次Newton插值多项式与次Lagrange插值多项式是相等的,即N/X)=Ln(X),它们只是表示形式不同。因此Newton余项与Lagrange余项也是相等的,即(+1)
8、(?Rn(X)=q+1(X)力羽/,居=-%(X)(九+1)!由此可得差商与导数的关系/xo,x1,xj =fw()nl尸)(/)(泰勒系数:。”七广)其中 a,a = min.Oinxi=maxx7Oin【例2】对上例的中的/(X),求节点为公小的一次插值多项式,节点为%,%1,工2的二次插值多项式和节点为玉),玉,%2,3的三次插值多项式。解由上例知C)=17,/x0,x1=-8,/x0,xpx2=3,/x0,x1,x2,x4=1j于是有Nl(x)=/(x0)+/,再K%-)N(X)=178(x+2)=-18XN2(X)=f(xq)+fxxi(x-Xq)+/Xq9X1,X2(x-Xq)(x
9、-i)No(Xy)18%+3(X+2)x322x1、3(%)=/(尤0)+/1%0,再(%一%0)+/【九0,龙1,2】(龙一0)(%一次1)+/x0,x1,X2,X4I(X-X0)(X-X1)(X-X2)=3%22x1+(x+2)MX1)丁+424尤1【例2】用Newton插值公式计算I1111.5o解如果仍取%=11,玉=12,马=13点作抛物线插值,按表1计算,结果如下:XiV=IIU7一阶差商二阶差商112.39791122.48490.0870X-Il132.56490.0800-0.0035(X-U)(X-U)2()=2.3979+0.0870(x-11)-0.0035(x-11)
10、(x-12)lnll.52(H.5)=2.3979+0.08700.5+0.00350.50.5=2.442275若加节点X=IoJ4,Inlo=23026Jnl4=26391,用InX四次插值多项式近似,则按表1计算结果如下:XiV=IIlri一阶差商二阶差商三阶差商四阶差商102.30261112.39790.0953X-Io122.48490.0870-0.00415(-10)(x-11)132.56490.0800-0.003500.000221211(X-Jl)=10142.63910.0742-0.002900.00020-0.00000513(x-k)*=10所以lnll.5M(
11、11.5)=2.3026+0.09531.5-0.0041.51.5+0.000221.50.5(-0.5)-0.0000051.50.5(-0.5)(-1.5)=2.4423522牛顿插值的MATLAB实现在MATLAB中实现牛顿插值的代码如下:functionf=Newton(x,y,xO)%求已知数据点的牛顿插值多项式%已知数据点的X坐标向量:X%已知数据点的y坐标向量:y%插值的X坐标:x%求得的牛顿插值多项式或在x处的插值:fsymst;if(length(x)=length(y)n=length(x);c(l:n)=0.0;elsedisp(,x和y的维数不相等!,);return
12、;endf=y(D;yi=0;1=1;for(i=kn-l)for(j=i+kn)yi(j)=(y(j)-y(i)(j)-(i);endc(i)=yl(i+l);1=l*(t-x(i);f=f+c(i)*l;simplify(f);y=yl;if(i=n-l)if(nargin=3)f=subs(f,t,x);elsef=collect(f);%将插值多项式展开f=vpa(f,3);endendend【例3】牛顿插值应用实例。根据下表所列的数据点求出其牛顿插值多项式,并计算当x=2.0时的y值。X11.21.82.54yI1.443.246.2516解:在命令窗口CommandWindow直接输入:x=11.21.82.541%逗号与空格等价为了验证它已在工作空间中,回车后得到如下结果。1.00001.20001.80002.50004.0000y=fl1.443.246.25161;f=Newton(x,y)回车后得到:f=.18271Ie-14-.482154e-14*t+l.00000*t2-.169177e-l4*t3+.211471e-l5*t4f=Newton(x,y,2.0)回车后得到:f=4表格中的数据点是按产,给出的,当插值函数在乂=2.0时的值看出22=4。在编辑窗口输入:t=1:0.01:4;Z=18271Ie-14-.482154e-l4*t+1.000