姜改革太原科技大学数值分析实验报告1牛顿插值法一、实验目的:学会牛顿插值法,并应用算法于实际问题。二、实验内容:给定函数xxf)(,已知:414214.1)0.2(f449138.1)1.2(f483240.1)2.2(f516575.1)3.2(f549193.1)4.2(f三、实验要求:(1)用牛顿插值法求4次Newton插值多项式在2.15处的值,以此作为函数的近似值)15.2(15.2N。在MATLAB中用内部函数ezplot绘制出4次Newton插值多项式的函数图形。(2)在MATLAB中用内部函数ezplot可直接绘制出以上函数的图形,并与作出的4次Newton插值多项式的图形进行比较。四、实验过程:1、编写主函数。打开Editor编辑器,输入Newton插值法主程序语句:function[y,L]=newdscg(X,Y,x)n=length(X);z=x;A=zeros(n,n);A(:,1)=Y';s=0.0;p=1.0;forj=2:nfori=j:nA(i,j)=(A(i,j-1)-A(i-1,j-1))/(X(i)-X(i-j+1));endendC=A(n,n);fork=(n-1):-1:1C=conv(C,poly(X(k)));d=length(C);C(d)=C(d)+A(k,k);endy(k)=polyval(C,z);L(k,:)=poly2sym(C);姜改革太原科技大学数值分析实验报告2%%%%%%%%%%%%%%%%%%t=[2,2.1,2.2,2.3,2.4];fx=sqrt(t);wucha=fx-Y;以文件名newdscg.m保存。2、运行程序。(1)在MATLAB命令窗口输入:X=[2,2.1,2.2,2.3,2.4];Y=[1.414214,1.449138,1.483240,1.516575,1.549193];x=2.15;[y,P]=newdscg(X,Y,x)回车得到:y=1.4663wucha=1.0e-06*-0.4376-0.3254-0.30260.08880.3385P=-(4803839603609061*x^4)/2305843009213693952+(7806239355294329*x^3)/288230376151711744-(176292469178709*x^2)/1125899906842624+(1624739243112817*x)/2251799813685248+1865116246031207/4503599627370496(2)在MATLAB命令窗口输入:v=[0,6,-1,3];ezplot(P),axis(v),gridholdonx=0:0.1:6;yt=sqrt(x);plot(x,yt,':')legend('插值效果','原函数')xlabel('X')ylabel('Y')title('Newton插值与原函数比较')回车即可得到图像1-1。姜改革太原科技大学数值分析实验报告3图1-1牛顿插值效果五、实验结果分析:由上运行(1)的程序可得,用牛顿插值法求4次Newton插值多项式在2.15处函数的近似值)15.2(15.2N=1.4663。由在MATLAB中用内部函数ezplot直接绘制出出的4次Newton插值图形与原函数的图形知,4次Newton插值图形在区间[0,1]与区间[4,5]内与原函数存在一定的偏差,而在区间[1,4]内误差在10的-6次方,这个精度是非常高的。因此,在计算区间[1,4]内的值时结果是比较准确的。