资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
工程常用算法综合实践作业二完成日期: 2013年 4月 14 日班级学号姓名主要工作说明自评成绩0718 2010071826崔洪亮算式与程序的编写1807182010071815侯闰上流程图的编辑,程序的审查07182010071809赵化川报告的整理汇总一.作业题目:三次样条插值与分段插值 已知飞机下轮廓线数据如下:x035791112131415y01.21.72.02.12.01.81.21.01.6飞机下轮廓线形状大致如下图所示: 机翼下轮廓线要求分别用拉格朗日插值法、Newton插值法、分段线性插值法和三次样条插值法计算x每改变0.5时y的值,即x 取 0.5, 1, 1.5, , 14.5 时对应的y值。比较采用不同方法的计算工作量、计算结果和优缺点。二.程序流程图及图形 1.拉格朗日插值法 2.牛顿插值法 3.分段线性插值法 三. matlab程序及简要的注释(m文件) 1. 拉格朗日插值法 2.牛顿插值法 function f=lang(x,y,x0)%x为已知数据点的x坐标向量%y为已知数据点的y坐标向量function f=newdun(x,y,xi)%x为已知数据点的x坐标向量%y为已知数据点的y坐标向量 %x0为插值点的x坐标%f为求得的拉格朗日插值多项式if(length(x)=length(y) n=length(x);elsedisp(The lengths of X ang Y must be not equal!) return;end %检错f=0;for i=1:n l=1; for j=1:i-1 l=l.*(x0-x(j)/(x(i)-x(j); end; for j=i+1:n l=l.*(x0-x(j)/(x(i)-x(j); %计算拉格朗日基函数 end;f=f+l*y(i); %计算拉格朗日插值函数endReturn%xi为插值点的x坐标%f为求得的均差牛顿插值多项式if(length(x)=length(y) n=length(x);else disp(The lengths of X ang Y must be not equal!); return;end %检错 Y=zeros(n);Y(:,1)=y;for a=1:n-1 for b=1:n-a Y(b,a+1)=(Y(b+1,a)-Y(b,a)/ (x(b+a)-x(b); %计算均差函数(差商) endendf=0;for i=1:n z=1; for j=1:i-1 z=z.*(xi-x(j); %计算多项式函数 end f=f+Y(1,i)*z; %计算牛顿插值函数 end for a=1:n-1 3.分段线性插值法 return;end %检错for k=1:n-1 if (x(k)=x0&x0 yi=newdun(x,y,xi)yi =Columns 1 through 8-15.4117 -15.9238 -10.9898 -5.4272 -1.2253 1.2000 2.1765 2.2666Columns 9 through 16 1.9894 1.7000 1.5703 1.6249 1.7995 2.0000 2.1477 2.2040 Columns 17 through 24 2.1752 2.1000 2.0269 1.9904 1.9928 2.0000 1.9537 1.8000 Columns 25 through 29 1.5272 1.2000 0.9656 1.0000 1.3480 plot(x,y,xi,yi,g+) x=0 3 5 7 9 11 12 13 14 15; y=0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6; xi=0.5:0.5:14.5; yi=lang(x,y,xi)yi = Columns 1 through 8-15.4117 -15.9238 -10.9898 -5.4272 -1.2253 1.2000 2.1765 2.2666 Columns 9 through 16 1.9894 1.7000 1.5703 1.6249 1.7995 2.0000 2.1477 2.2040 Columns 17 through 24 2.1752 2.1000 2.0269 1.9904 1.9928 2.0000 1.9537 1.8000 Columns 25 through 29 1.5272 1.2000 0.9656 1.0000 1.3480 plot(x,y,b:,xi,yi)3. 分段线性插值法 五、对不同实现方法的运行结果进行比较 yi=fd2(x,y,xi)yi =Columns 1 through 80.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.3250 1.4500Columns 9 through 161.5750 1.7000 1.7750 1.8500 1.9250 2.0000 2.0250 2.0500Columns 17 through 242.0750 2.1000 2.0750 2.0500 2.0250 2.0000 1.9000 1.8000Columns 25 through 291.5000 1.2000 1.1000 1.0000 1.3000 plot(x,y,b:,xi,yi,g+) 及总结 拉格朗日插值法的优点是表达式简单明确,形式对称,它的缺点是如果要想增加插值节点,整个公式必须都发生改变,且容易发生龙格现象。牛顿插值法却很好的改善了这一点,从而变得更加灵活方便。此外两者的拟合程度也很相似。 分段插值的缺点是不能保证曲线在连接点处的光滑性。分段插值可以步进地插值计算,同时也带来了内在的高度稳定性和较好的收敛性。与前两种相比还具有良好的拟合性。总结:我们组只编写了前三种插值方法,对于三次样条插值参数太多,故没能编写出其程序,但通过matlab中的interp1函数可以实现。在此次作业我们也学到了很多知识,感到很充实。补充三次样条插值图形如下: 4.三次样条插值法 六.计算公式及计算方法(手写) yi=interp1(x,y,xi,spline)yi =Columns 1 through 80.2421 0.4665 0.6739 0.8649 1.0401 1.2000 1.3454 1.4767Columns 9 through 161.5947 1.7000 1.7930 1.8740 1.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号