资源描述:
《牛顿插值法实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、牛顿插值法一、实验目的:学会牛顿插值法,并应用算法于实际问题。二、实验内容:给定函数,已知:三、实验要求:(1)用牛顿插值法求4次Newton插值多项式在2.15处的值,以此作为函数的近似值。在MATLAB中用内部函数ezplot绘制出4次Newton插值多项式的函数图形。(2)在MATLAB中用内部函数ezplot可直接绘制出以上函数的图形,并与作出的4次Newton插值多项式的图形进行比较。四、实验过程:1、编写主函数。打开Editor编辑器,输入Newton插值法主程序语句:function[y,L]=newdscg(X,Y
2、,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);%%%%%%%%%%%%%%%%%%t=[2,2.1,2.2,2.
3、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.,1.,1.,1.,1.];x=2.15;[y,P]=newdscg(X,Y,x)回车得到:y=1.4663wucha=1.0e-06*-0.4376-0.3254-0.30260.08880.3385P=-(09061*x^4)/+(94329*x^3)/-(8709*x^2)/42624+(12817*x)/85248+31207/7
4、0496(2)在MATLAB命令窗口输入:>>v=[0,6,-1,3];>>ezplot(P),axis(v),grid>>holdon>>x=0:0.1:6;>>yt=sqrt(x);plot(x,yt,':')>>legend('插值效果','原函数')>>xlabel('X')>>ylabel('Y')>>title('Newton插值与原函数比较')回车即可得到图像1-1。图1-1牛顿插值效果五、实验结果分析:由上运行(1)的程序可得,用牛顿插值法求4次Newton插值多项式在2.15处函数的近似值=1.4663。由在MA
5、TLAB中用内部函数ezplot直接绘制出出的4次Newton插值图形与原函数的图形知,4次Newton插值图形在区间[0,1]与区间[4,5]内与原函数存在一定的偏差,而在区间[1,4]内误差在10的-6次方,这个精度是非常高的。因此,在计算区间[1,4]内的值时结果是比较准确的。