资源描述:
《拟合与插值实验五》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、衫囔辦妓*辱UniversityofScienceandTechnologyBeijing-X〔学实验》报告实验名称拟合与插,学院专业班级姓名学号411530032013年5月一、【实验目的】1.学习MATLAB中多项式的基本操作命令;2.学习多项式的定义、表示、数据拟合的基本方法;3.掌握多项式拟合的不同方法及相应的操作命令;4.熟练使用多项式插值方法,并根据拟合的曲线选择合适的拟合方式;5.注意一维多项式和二维多项式的拟合异同。二、【实验任务】1.在钢线碳含量对于电阻效应的研究中,得到以下数据。分别用一次、三次、五次多项式曲线来拟合这组数据并画出图形
2、。碳含量X0.100.300.400.550.700.800.95电阻y1518192122.623.8262.在某种添加剂的不同浓度之下对铝合金进行抗拉强度试验,得到数据如不,现分别使用不同的插值方法,对其中间没有测量的数据进行推测,并估算出浓度X=18及26时的抗压强度Y的值。浓度X1015202530抗压强度Y25.229.831.231.729.4223.用不同方法对z=在(-3,3)上二维插值效果进行比较。169三、【实验程序】1.clcelfx=[0.100.300.400.550.700.800.95]:y=[1518192122.623.
3、826];pi二polyfit(x,y,1);p3=polyfit(x,y,3):p5=polyfit(x,y,5):dispC二阶拟合函数’),fl=poly2str(pl,,x,)disp(’三阶拟合函数’),f3=poly2str(p3,’x’)disp(’五阶拟合函数’),f5=poly2str(p5,’x’)xl=0.1:0.05:0.95;yl=polyval(pi,xl);y3=polyval(p3,xl);y5=polyval(p5,xl);plot(x,y,?rp,,xl,yl,,__,,xl,y3,,k_.,,xl,y5);legen
4、d(’拟合点’,’一次拟合点’,’三次拟合点’,’五次拟合点’)2.clcelfx=[1015202530]:y=[25.229.831.231.729.4]:xl=10:l:30;yl^interpl(x,y,xl,’氺nearest’);y2=interpl(x,y,xl,’氺1inear’);y3=interpl(x,y,xl,’氺spline’);y4=interpl(x,y,xl,’氺cubic’);plot(x,y,’rp’,xl,yl,’g’,xl,y2,’k’,xl,y3,’b’,xl,y4,’y’)legendC原始数据’,’最近点插值
5、’,’线性插值’,’样条插值’,’立方插值’)y5=interpl(x,y,18,’氺cubic’)y6=interpl(x,y,26/氺cubic,)3.clcelf[x,y]=meshgrid(-3:1:3);z=x.2/16-y."2/9;[xl,y1]=meshgrid(-3:0.5:3);zl:xl."2/16-yl."2/9;figure(1)subplot(121),mesh(x,y,z),titleC数据点’)subplot(122),mesh(xl,yl,zl),title(’函数图象’)[xi,yi]=meshgrid(-3:0.1:
6、3);zil=interp2(x,y,z,xi,yi,’氺nearest’);zi2=interp2(x,y,z,xi,yi,’氺linear’);zi3=interp2(x,y,z,xi,yi,’氺spline’);zi4=interp2(x,y,z,xi,yi,’氺cubic’);figure(2)subplot(221),mesh(xi,yi,zil),title(’最近点插值’)subplot(222),mesh(xi,yi,zi2),titleC线性插值’)subplot(223),mesh(xi,yi,zi3),title(’样条插值’)su
7、bplot(224),mesh(xi,yi,zi4),titleC立方插值’)【实验结果】1.2.由上面拟合的曲线图形可知,拟合最好的是黄色的曲线,采用立方插值的方法,所以当X=18和26时,在黄色曲线取值,如下图所示,y5表示X=18时的值,y6表示X=26时的值。3.下图所示的是不同方法绘制出空间图形,分别采用不同的方法进行比较,figure(1)是数据点和函数图象的图形,figure(2)是最近点插值、线性插值、样条插值、立方插值四种不同的方法拟合的图形,从图中可以很明显的看出figure(2)中使用的样条插值和立方插值的方法拟合的曲面具宥较好的近
8、似性。三、【实验总结】1.多项式构造命令poly2str(p,’x’)将表示多项