实验一用Matlab数据拟合.ppt

上传人:小飞机 文档编号:5961357 上传时间:2023-09-08 格式:PPT 页数:20 大小:413.50KB
返回 下载 相关 举报
实验一用Matlab数据拟合.ppt_第1页
第1页 / 共20页
实验一用Matlab数据拟合.ppt_第2页
第2页 / 共20页
实验一用Matlab数据拟合.ppt_第3页
第3页 / 共20页
实验一用Matlab数据拟合.ppt_第4页
第4页 / 共20页
实验一用Matlab数据拟合.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《实验一用Matlab数据拟合.ppt》由会员分享,可在线阅读,更多相关《实验一用Matlab数据拟合.ppt(20页珍藏版)》请在三一办公上搜索。

1、用Matlab进行数据拟合,1.多项式曲线拟合:polyfit.,y0=polyval(p,x0),p=polyfit(x,y,m),其中,x,y为已知数据点向量,分别表示横,纵坐标,m为拟合多项式的次数,结果返回m次拟合多项式系数,从高次到低次存放在向量p中.,可求得多项式在x0处的值y0.,例1 已知观测数据点如表所示,分别用3次和6次多项式曲线拟合这些数据点.,x=0:0.1:1y=-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2plot(x,y,k.,markersize,25)axis(0 1.3-2 16)p3=pol

2、yfit(x,y,3)p6=polyfit(x,y,6),编写Matlab程序如下:,t=0:0.1:1.2s=polyval(p3,t)s1=polyval(p6,t)hold onplot(t,s,r-,linewidth,2)plot(t,s,b-,linewidth,2)grid,x=0:0.1:1y=-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2plot(x,y,k.,markersize,25)axis(0 1.3-2 16)p3=polyfit(x,y,3)p6=polyfit(x,y,6),例2 用切削机床进行金

3、属品加工时,为了适当地调整机床,需要测定刀具的磨损速度.在一定的时间测量刀具的厚度,得数据如表所示:,解:描出散点图,在命令窗口输入:,t=0:1:16y=30.0 29.1 28.4 28.1 28.0 27.7 27.5 27.2 27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8 24.0plot(t,y,*),解:描出散点图,在命令窗口输入:,t=0:1:16y=30.0 29.1 28.4 28.1 28.0 27.7 27.5 27.2 27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8 24.0plot(t,y,*),a=-

4、0.3012 29.3804,hold on,plot(t,y1),hold off,a=polyfit(t,y,1),y1=-0.3012*t+29.3804,例2 用切削机床进行金属品加工时,为了适当地调整机床,需要测定刀具的磨损速度.在一定的时间测量刀具的厚度,得数据如表所示:,切削时间 t/h,0,30.0,1,29.1,2,28.4,3,28.1,4,28.0,5,27.7,6,27.5,7,27.2,8,27.0,刀具厚度 y/cm,切削时间 t/h,9,26.8,10,26.5,11,26.3,12,26.1,13,25.7,14,25.3,15,24.8,16,24.0,刀具厚

5、度 y/cm,拟合曲线为:,y=-0.3012t+29.3804,例3 一个15.4cm30.48cm的混凝土柱在加压实验中的应力-应变关系测试点的数据如表所示,1.55,2.47,2.93,3.03,已知应力-应变关系可以用一条指数曲线来描述,即假设,式中,表示应力,单位是 N/m2;表示应变.,2.89,已知应力-应变关系可以用一条指数曲线来描述,即假设,式中,表示应力,单位是 N/m2;表示应变.,解 选取指数函数作拟合时,在拟合前需作变量代换,化为 k1,k2 的线性函数.,于是,令,即,在命令窗口输入:,x=500*1.0e-6 1000*1.0e-6 1500*1.0e-6 200

6、0*1.0e-6 2375*1.0e-6y=3.103*1.0e+3 2.465*1.0e+3 1.953*1.0e+3 1.517*1.0e+3 1.219*1.0e+3z=log(y)a=polyfit(x,z,1)k1=exp(8.3009)w=1.55 2.47 2.93 3.03 2.89plot(x,w,*),y1=exp(8.3009)*x.*exp(-494.5209*x),plot(x,w,*,x,y1,r-),已知应力-应变关系可以用一条指数曲线来描述,即假设,式中,表示应力,单位是 N/m2;表示应变.,拟合曲线为:,令,则,求得,于是,在实际应用中常见的拟合曲线有:,直

7、线,多项式,一般 n=2,3,不宜过高.,双曲线(一支),指数曲线,2.非线性曲线拟合:nlinfit.,功能:,x=lsqcurvefit(fun,x0,xdata,ydata),x,resnorm=lsqcurvefit(fun,x0,xdata,ydata),根据给定的数据 xdata,ydata(对应点的横,纵坐标),按函数文件 fun 给定的函数,以x0为初值作最小二乘拟合,返回函数 fun中的系数向量x和残差的平方和resnorm.,例4 已知观测数据点如表所示,求三个参数 a,b,c的值,使得曲线 f(x)=aex+bx2+cx3 与已知数据点在最小二乘意义上充分接近.,首先编写

8、存储拟合函数的函数文件.,function f=nihehanshu(x,xdata)f=x(1)*exp(xdata)+x(2)*xdata.2+x(3)*xdata.3,保存为文件 nihehanshu.m,例4 已知观测数据点如表所示,x,y,0,3.1,0.1,3.27,0.2,3.81,0.3,4.5,0.4,5.18,0.5,6,0.6,7.05,0.7,8.56,0.8,9.69,0.9,11.25,1,13.17,求三个参数 a,b,c的值,使得曲线 f(x)=aex+bx2+cx3 与已知数据点在最小二乘意义上充分接近.,编写下面的程序调用拟合函数.,x=0:0.1:1;y=

9、3.1,3.27,3.81,4.5,5.18,6,7.05,8.56,9.69,11.25,13.17;x0=0,0,0;beta,r,J=nlinfit(x,y,nihehanshu,x0);,编写下面的程序调用拟合函数.,x=0:0.1:1;y=3.1,3.27,3.81,4.5,5.18,6,7.05,8.56,9.69,11.25,13.17;x0=0,0,0;beta,r,J=nlinfit(x,y,nihehanshu,x0);,程序运行后显示,beta=3.0022 4.0304 0.9404,例4 已知观测数据点如表所示,x,y,0,3.1,0.1,3.27,0.2,3.81,

10、0.3,4.5,0.4,5.18,0.5,6,0.6,7.05,0.7,8.56,0.8,9.69,0.9,11.25,1,13.17,求三个参数 a,b,c的值,使得曲线 f(x)=aex+bx2+cx3 与已知数据点在最小二乘意义上充分接近.,说明:最小二乘意义上的最佳拟合函数为,f(x)=3ex+4.03x2+0.94 x3.,此时的残差是:0.0912.,f(x)=3ex+4.03x2+0.94 x3.,拟合函数为:,练习:,1.已知观测数据点如表所示,求用三次多项式进行拟合的曲线方程.,2.已知观测数据点如表所示,求a,b,c的值,使得曲线 f(x)=aex+bsin x+c lnx 与已知数据点在最小二乘意义上充分接近.,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号