1、牛顿插值法一、实验目的:学会牛顿插值法,并应用算法于实际问题。二、实验内容:给定函数 ,已知:xf)(412.)0(f 49138. 48320.1)(f56735)(f三、实验要求:(1)用牛顿插值法求 4 次 Newton 插值多项式在 2.15 处的值,以此作为函数的近似值 。在 MATLAB 中用内部函数 ezplot 绘制出 4 次)15.2(.NNewton 插值多项式的函数图形。(2)在 MATLAB 中用内部函数 ezplot 可直接绘制出以上函数的图形,并与作出的 4 次 Newton 插值多项式的图形进行比较。四、实验过程:1、编写主函数。打开 Editor 编辑器,输入
2、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; for j=2:nfor i=j:nA(i,j)=(A(i,j-1)- A(i-1,j-1)/(X(i)-X(i-j+1);endendC=A(n,n);for k=(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,2.4
3、;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.4663 wucha =1.0e-06 *-0.4376 -0.3254 -0.3026 0.0888 0.3385P = - (4803839603609061*x4)/2305843009213693952 + (7806239355294329*x
4、3)/288230376151711744 - (176292469178709*x2)/1125899906842624 + (1624739243112817*x)/2251799813685248 + 1865116246031207/4503599627370496(2)在 MATLAB 命令窗口输入: v=0,6,-1,3; ezplot(P),axis(v),grid hold on 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。)15.2(.N由在 MATLAB 中用内部函数 ezplot 直接绘制出出的 4 次 Newton 插值图形与原函数的图形知,4 次 Newton 插值图形在区间0,1与区间4,5内与原函数存在一定的偏差,而在区间1,4内误差在 10 的-6 次方,这个精度是非常高的。因此,在计算区间1,4内的值时结果是比较准确的。