预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

算法组织:本题在算法上需要解决的问题主要是:求出第二问中的Newton插值多项式和三次样条插值多项式。如此,则第三、四问则迎刃而解。计算两种插值多项式的算法如下:一、求Newton插值多项式,算法组织如下:Newton插值多项式的表达式如下:其中每一项的系数ci的表达式如下:根据以上公式,计算的步骤如下:二、求三次样条插值多项式,算法组织如下:所谓三次样条插值多项式是一种分段函数,它在节点分成的每个小区间上是3次多项式,其在此区间上的表达式如下:因此,只要确定了的值,就确定了整个表达式,的计算方法如下:令:则满足如下n-1个方程:方程中有n+1个未知量,则令和分别为零,则由上面的方程组可得到的值,可得到整个区间上的三次样条插值多项式。计算结果与结果分析本题中各问的相应计算结果如下:1、在n取不同值时,xi和对应的f(xi)(亦即下图中的y1)的值如下:n=5时:n=10时:n=20时:2、Newton插值多项式的表达式如下:n=5时,其各项系数分别为:n=10时,其各项系数分别为:n=20时,其各项系数分别为:对于三次样条插值多项式,最重要的是求出其M矩阵的值,其中M0和Mn都为0,M1~Mn-1则存储在矩阵M中:n=5时的M矩阵(M1~M4)的值为:n=10时的M矩阵(M1~M9)的值为:n=20时的M矩阵(M1~M19)的值为:3、不论n为多少,是不会改变的,其值存储在矩阵yy中;当n取不同值的时候,Newton插值多项式和三次样条插值多项式的值是不同的,为了使整个结果直观,实验的最终结果还用图形进行的重现(本问中所得函数值、牛顿插值和三次样条插值的结果分别存在数组变量yy、Nn和Sn中)。当n=5时,整个区间中的、以及的值如图所示:图5-1、与原始值的对比图n=20时,整个区间中的和以及和的对比如下面两图所示:图5-2与原始值的对比图图5-3与原始值的对比图通过对比以上三个图可得到如下结论:1、随着n的增大,使用Newton插值多项式会出现龙格现象(对比图5-1和图5-2中的)。2、随着n的增大,三次样条插值多项式将越来越接近被插值的函数(对比图5-1和图5-3中的)。4、根据第3问中得到的数据可以很容易的得到和,它们的值如下表所示:n值E(Nn)E(Sn)50.432690.423482058.27810.00309当n=20时,使用Newton插值多项式出现龙格现象,其最大误差达到58.2781,而相应的三次样条插值多项式的最大误差仅为0.00309。可见,n越大,Newton插值越可能偏离被插值函数,而相应的三次样条插值则能更接近于被插值函数。x=a:(b-a)/n:b;%插值节点y=f(x);plot(x,y,'b')%用蓝色线作被插函数图象holdonz=a:(b-a)/(2*n):b;n=length(x);forj=2:nfori=n:-1:jy(i)=(y(i)-y(i-1))/(x(i)-x(i-j+1));%计算差商endendu=y(n);m=length(z);forj=1:mfori=n-1:-1:1u=y(i)+u*(z(j)-x(i));%计算牛顿插值多项式的值v(j)=u;endu=y(n);endplot(z,v,'r')%用红色线作牛顿插值多项式图象holdoff