matlab计算拉格朗日牛顿及分段线性插值的程序

上传人:m**** 文档编号:486493860 上传时间:2022-10-12 格式:DOC 页数:5 大小:193.13KB
返回 下载 相关 举报
matlab计算拉格朗日牛顿及分段线性插值的程序_第1页
第1页 / 共5页
matlab计算拉格朗日牛顿及分段线性插值的程序_第2页
第2页 / 共5页
matlab计算拉格朗日牛顿及分段线性插值的程序_第3页
第3页 / 共5页
matlab计算拉格朗日牛顿及分段线性插值的程序_第4页
第4页 / 共5页
matlab计算拉格朗日牛顿及分段线性插值的程序_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《matlab计算拉格朗日牛顿及分段线性插值的程序》由会员分享,可在线阅读,更多相关《matlab计算拉格朗日牛顿及分段线性插值的程序(5页珍藏版)》请在金锄头文库上搜索。

1、工程常用算法综合实践作业二完成日期: 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, ,

2、 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 len

3、gths 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 n

4、ot 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

5、=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(

6、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 2

7、4 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.85

8、00 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+) 及总结 拉格朗日插值法的优点是表达式简单明确,形式对称,它的缺点是如果要想增加插值节点,整个公式必须都发生改变,且容易发生龙格现象。牛顿插值法却很好的改善了这一点,从而变得更加灵活方便。此外两者的拟合程度也很相似。 分段插值的缺点是

9、不能保证曲线在连接点处的光滑性。分段插值可以步进地插值计算,同时也带来了内在的高度稳定性和较好的收敛性。与前两种相比还具有良好的拟合性。总结:我们组只编写了前三种插值方法,对于三次样条插值参数太多,故没能编写出其程序,但通过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.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号