《数值分析插值实验.docx》由会员分享,可在线阅读,更多相关《数值分析插值实验.docx(6页珍藏版)》请在优知文库上搜索。
1、数值分析第一次上机练习实验报告Lagrange插值与三次样条插值一、问题的描述设/()=+12,X1,1,取Xi=-1+(,i=0,1,2,.,10.试求出10次Lagrange插值多项式1.lO(X)和三次样条插值函数Sa)(采用自然边界条件),并用图画出/(x),Z10(x),S(X).二、方法描述LagraIIge插值与三次样条插值百来对原函数进行插值,我们取Xj=-I+(,i=0,1,2,.,10,通过在Xj点的函数值/(%)=我们记插值函数为g(x),要求它满足如下条件:g(工)=/(%)=+;.,i=,L2,10(1)我们在此处要分别通过Lagrange插值(即多项式插值)与三次样
2、条插值的方法对原函数二进行插值,看两种方法的插值结果,并进行结果的比拟。)l+9IO次的Lagrange插值多项式为:IOLIO(X)=M(x)J=O其中:%;g2,z=0,1,2,.,101 +vXj以及43=(。);(厂/)Z=OJ,2,.,10我们根据(2)进行程序的编写,我们可以通过几个循环很容易实现函数的Lagrange插值。理论上我们根据区间上给出的节点做出的插值多项式4(x)近似于/(x),而多项式4(力的次数越高逼近/(x)的精度就越好。但实际上并非如此,而是对任意的插值节点,当f+a的时候4(力不一定收敛到大);而是有时会在插值区间的两端点附近会出现严重的4(力偏离/(x)的
3、现象,即所谓的RUnge现象。因此用高次插值多项式4(力近似/(x)的效果并不总是好的,因而人们通常在选择插值方式的时候不用高次多项式插值,而用分段低次插值,而这样的插值效果往往是非常好的,能够克服高次多项式插值的弱点,到达令人满意的效果。分段低次插值包括分段线性插值、分段三次Hermite插值、三次样条插值等。前两种插值函数都具有一致收敛性,但是光滑性较差,而在实际问题中我们往往要求函数具有二阶光滑度,即有二阶连续导数。而对第三种插值方式,我们得到的是一个样条曲线,它是由分段三次曲线拼接而成,在连接点(即样点)上二阶导数连续。我们记三次样条插值函数为S(X),它在每个小区间七,专川,/=0,
4、1,2,.,9上是三次函数,因此在每个区间上需要确定4个参数,总共有10个小区间,因此共需确定40个未知参数。首先我们有插值条件:S(Xj)=v,j=0,1,2,.,10(3)j+)xj其次在每个节点Xrj=1,2,.,9上满足连续性条件:S(Xj-O)=S(Xj+0),S(xy-)=S(.),Sm(x.-O)=SmO)(4)此外在端点处满足自然边界条件:(5)SFo)=S”(-1)=0,Syo)=S=0我们假设S(七)=Mj,j=0,L2,.0。那么在每个小区间勺,巧+J,/=0,1,2,.,9上:S(X) = Mj(iJl6hjk-)hJy川一X-Xj)hJ(6)其中:,%,=0,1,2,
5、.,9hj=xj+-j我们利用边界条件可以得到:jMh+2fy+jMj+l=djij=1,2,.,9其中:Vihi,j=k+hj以及dj = 66xi,x7,xi两端点处的边界条件为:(8)Mo=MO=O将边界条件写成矩阵形式为:Mq其中根据自然边界条件(8)有:4)=zzo=,4)=4o=我们解方程就可以得到Mj,j=0,l,.,10,将他们代入就可以得到各段区间上的S(X)的值。三、方案设计我们通过编写MaHab程序来进行10次Lagrange插值与三次样条插值的工作。在我们的程序文件中interplotion.m文件是主程序文件;LlO.m文件是计算10次Lagrange插值多项式L(x
6、)的子程序文件,给它任一个XT1,此程序将返回LlO(X)的值;MSPline.m是根据(9)计算各节点二阶导数值M/,/=0,1,2,.,10的子程序文件,它将会返回在自然边界条件下的各节点的二阶导数值;然后SPIinem是根据以及(6)计算三次样条插值函数Sa)的子程序文件。然后运行主程序将给出三幅曲线图,分别是“力与Zlo(X)曲线,/(力与Sa)曲线,以及/(力、ZlO(X)与Sa)三条曲线共同画在一幅图上得到的图象。解决这个问题的思路很简单,按部就班的来就可以。首先我们计算各节点看上的函数值K=/(XJ以备后用,然后调用MSPIine.m计算Mj,j=0,1,2,.,10。随后我们给
7、出一系列X的值,计算一(力,并分别调用L10.m与spline.m分别计算Z10(%)与S(X)。然后根据我们得到的数据绘图观察插值结果。具体程序的实现可参见所给程序的相关注释。四、计算结果及其分析下面是我们根据程序计算结果得到的数据,其中分别给出了在各典型X处的的原函数的值/(X)、Lagrange插值结果OO(X)与样条插值结果S(X):以及绝对误差ZIO(Jr)-/(力和S(X)-/(九)湘对误差AIo()八,9()/圣二)。由于在两端点处进行Lagrange插值插值的时候可能出现Runge现象,fx)fx)因此我!门在两端2附近多隼了几个点,数据。XI/)IZJoa)IS(X)I误差I
8、相对误差I误差|相对误差L0(x)-J(x)(L0(x)-x)/fix)S(x)-J(x)(S(x)-fix)/fix)-1.000.100000.100000.100000.000000.000000.000000.00000-0.980.103700.415970.104090.312283.011470.000400.00383-0.960.107590.568810.108230.461224.286770.(X)()640.(X)592-0.940.111700.611500.112450.499804.474400.(X)0750.(X)669-0.920.116040.58445
9、0.116800.468414.036560.000760.00651-0.900.120630.517790.121310.397163.292440.000690.00569-0.880.125480.433290.126040.307812.453130.000570.00452-0.860.130610.346080.131030.215471.649740.000420.00320-0.840.136050.266050.136310.130010.955600.000260.00192-0.820.141810.199()60.141930.057250.403680.(X)012
10、0.(XX)82-0.800.147930.147930.147930.000000.000000.000000.00000-0.700.184840.110100.18484-0.07474-0.404330.000000.00000-0.600.235850.235850.235850.000000.000000.000000.00000-0.500.307690.333830.306400.026140.08494-0.00129-0.00419-0.400.409840.409840.409840.000000.000000.000000.00000-0.300.552490.5393
11、50.55629-0.01314-0.023780.003800.(X)689-0.200.735290.735290.735290.000000.000000.000000.00000-0.100.917430.922470.915160.005Q40.00549-0.00227-0.002470.001.000001.000001.000000.000000.000000.000000.000000.100.917430.922470.915160.005040.00549-0.00227-0.002470.200.735290.735290.735290.000000.000000.00
12、0000.00000()3()0.552490.539350.55629-0.01314-0.02378().(X)38()0.(X)6890.400.409840.409840.409840.000000.000000.000000.000000.500.307690.333830.306400.026140.08494-0.00129-0.004190.600.235850.235850.235850.000000.000000.000000.000000.700.184840.110100.18484-0.07474-0.404330.000000.000000.800.147930.1
13、47930.147930.000000.000000.000000.000000.820.141810.199060.141930.057250.403680.(X)0120.(X)()820.840.136050.266050.136310.130010.955600.000260.001920.860.130610.346080.131030.215471.649740.000420.003200.880.125480.433290.126040.307812.453130.000570.004520.900.120630.517790.121310.397163.292440.000690.005690.920.116040.584450.116800.468414.036560.000760.006510.940.111700.611500.112450.499804.474400.(X)0750.(X)6690.960.107590.568810.108230.461224.286770.000640.005920.980.103700.415970.104090.312283.011470.000400.003831.000.10000