计算机仿真技术MATLAB数据处理插值拟合课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机仿真技术MATLAB数据处理插值拟合课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机仿真 技术 MATLAB 数据处理 拟合 课件
- 资源描述:
-
1、第八章 MATLAB数据处理q教学目标教学目标u介绍介绍MATLABMATLAB数据插值和数据拟合数据插值和数据拟合q学习要求学习要求u熟练掌握熟练掌握MATLABMATLAB数据插值和数据拟合。数据插值和数据拟合。一、数据拟合q什么叫数据拟合什么叫数据拟合u数据拟合是求一个简单的函数数据拟合是求一个简单的函数,例如是一个低次多项式例如是一个低次多项式,不要求通过已知的这些点不要求通过已知的这些点,而是要求在整体而是要求在整体上上“尽量好尽量好”的逼近原函数。的逼近原函数。uMatlabMatlab常用拟合方法:多项式拟合(常用拟合方法:多项式拟合(polyfitpolyfit),非线性曲线拟
2、合非线性曲线拟合(lsqcurvefit)(lsqcurvefit)一、数据拟合q多项式曲线拟合多项式曲线拟合:polyfit.:polyfit.u函数名称:函数名称:polyfitpolyfitu格式:格式:p=polyfit(x,y,m)p=polyfit(x,y,m),x,y x,y为已知数据点向量为已知数据点向量,分别表示横分别表示横,纵坐标纵坐标,m,m为拟合多项式的次为拟合多项式的次数数,结果返回结果返回m m次拟合多项式系数次拟合多项式系数,从高次到低次存放在向量从高次到低次存放在向量p p中中.uy0=polyval(p,x0)y0=polyval(p,x0),可求得多项式在,
3、可求得多项式在x0 x0处的值处的值y0.y0.一、数据拟合q例题例题1 1:已知观测数据点如表所示,用:已知观测数据点如表所示,用3 3次和次和6 6次多项式拟合次多项式拟合xy0-0.4470.11.9780.23.280.36.160.47.080.57.340.67.660.79.560.89.480.99.3111.2一、数据拟合MatlabMatlab代码:代码:x=0:0.1:1;y=-.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)p
4、3=polyfit(x,y,3);p6=polyfit(x,y,6);t=0:0.1:1.2;s=polyval(p3,t);s1=polyval(p6,t);hold on;plot(t,s,r-,linewidth,2);plot(t,s1,b-,linewidth,2);grid on一、数据拟合q例题例题2 2:用切削机床进行金属品加工时:用切削机床进行金属品加工时,为了适当地调整机床为了适当地调整机床,需要测定刀具的磨损速度需要测定刀具的磨损速度.在一定的在一定的时间测量刀具的厚度时间测量刀具的厚度,得数据如表所示得数据如表所示:切削时间切削时间 t/h030.0129.1228.4
5、328.1428.0527.7627.5727.2827.0刀具厚度刀具厚度 y/cm切削时间切削时间 t/h926.81026.51126.31226.11325.71425.31524.81624.0刀具厚度刀具厚度 y/cm一、数据拟合MatlabMatlab代码:代码:t=0:1:16;y=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.0;plot(t,y,*);hold ona=polyfit(t,y,5);y1=polyval(a,t);plot(t,y1),ho
6、ld off;一、数据拟合q例题例题3 3:一个:一个15.4cm15.4cm30.48cm30.48cm的混凝土柱在加压实验中的应力的混凝土柱在加压实验中的应力-应变关系测试点的数据如表所示应变关系测试点的数据如表所示 已知应力已知应力-应变关系可以用一条指数曲线来描述应变关系可以用一条指数曲线来描述,即假设即假设 式中式中,表示应力表示应力,单位是单位是 N/m2;表示应变表示应变,求系数求系数1.55 2/N/m 2/N/m 6500 10 33.103 10 2.4761000 10 32.465 10 2.9361500 10 31.953 10 3.0362000 10 31.51
7、7 10 2.8962375 10 31.219 10 21 kke一、数据拟合求解:求解:1)要使用多项式拟合,因此需要将表达式转换为多项式形式)要使用多项式拟合,因此需要将表达式转换为多项式形式化为化为 k1,k2 的线性函数的线性函数.于是于是,12lnln kk令令0211ln,ln zakak即即01 zaa一、数据拟合matlabmatlab代码:代码:x=500*1.0e-6 1000*1.0e-6 1500*1.0e-6 2000*1.0e-6 2375*1.0e-6;y=3.103*1.0e+3 2.465*1.0e+3 1.953*1.0e+3 1.517*1.0e+3 1
8、.219*1.0e+3;z=log(y);a=polyfit(x,z,1);k1=exp(a(2);w=1.55 2.47 2.93 3.03 2.89plot(x,w,*)y1=exp(a(2)*x.*exp(a(1)*x);plot(x,w,*,x,y1,r-)已知应力已知应力-应变关系可以用一条指数曲线来描述应变关系可以用一条指数曲线来描述,即假设即假设21 kke式中式中,表示应力表示应力,单位是单位是 N/m2;表示应变表示应变.拟合曲线为拟合曲线为:3-494.52094.0275 10 e0211ln,ln,zakak01 zaa0211-494.5209,ln8.3009,ak
9、ak3124.0275 10,494.5209kk令令则则求得求得于是于是一、数据拟合在实际应用中常见的拟合曲线有在实际应用中常见的拟合曲线有:01ya xa直线直线101 nnnya xa xa多项式多项式一般一般 n=2,3,不宜过高不宜过高.01ayax双曲线双曲线(一支一支)bxyae指数曲线指数曲线一、数据拟合2.非线性曲线拟合非线性曲线拟合:lsqcurvefit.功能功能:x=lsqcurvefit(fun,x0,xdata,ydata)x,resnorm=lsqcurvefit(fun,x0,xdata,ydata)根据给定的数据根据给定的数据 xdata,ydata(对应点的
10、横对应点的横,纵坐标纵坐标),按函数文件按函数文件 fun 给定的函数给定的函数,以以x0为初值作最小二乘拟合为初值作最小二乘拟合,返回函数返回函数 fun中的系数向量中的系数向量x和残差的平方和和残差的平方和resnorm.一、数据拟合例例4 已知观测数据点如表所示已知观测数据点如表所示xy03.10.13.270.23.810.34.50.45.180.560.67.050.78.560.89.690.911.25113.17求三个参数求三个参数 a,b,c的值的值,使得曲线使得曲线 f(x)=aex+bx2+cx3 与已知数据点在最小二乘意义上充分接近与已知数据点在最小二乘意义上充分接近
11、.首先编写存储拟合函数的函数文件首先编写存储拟合函数的函数文件.function f=nihehanshu(x,xdata)f=x(1)*exp(xdata)+x(2)*xdata.2+x(3)*xdata.3保存为文件保存为文件 nihehanshu.m一、数据拟合例例4 已知观测数据点如表所示已知观测数据点如表所示xy03.10.13.270.23.810.34.50.45.180.560.67.050.78.560.89.690.911.25113.17求三个参数求三个参数 a,b,c的值的值,使得曲线使得曲线 f(x)=aex+bx2+cx3 与已知数据点在最小二乘意义上充分接近与已知
12、数据点在最小二乘意义上充分接近.编写下面的程序调用拟合函数编写下面的程序调用拟合函数.xdata=0:0.1:1;ydata=3.1,3.27,3.81,4.5,5.18,6,7.05,8.56,9.69,11.25,13.17;x0=1,1,1;x,resnorm=lsqcurvefit(nihehanshu,x0,xdata,ydata)一、数据拟合编写下面的程序调用拟合函数编写下面的程序调用拟合函数.xdata=0:0.1:1;ydata=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;x,resnorm=lsqc
13、urvefit(nihehanshu,x0,xdata,ydata)程序运行后显示程序运行后显示x=3.0022 4.0304 0.9404resnorm=0.0912一、数据拟合例例4 已知观测数据点如表所示已知观测数据点如表所示xy03.10.13.270.23.810.34.50.45.180.560.67.050.78.560.89.690.911.25113.17求三个参数求三个参数 a,b,c的值的值,使得曲线使得曲线 f(x)=aex+bx2+cx3 与已知数据点在最小二乘意义上充分接近与已知数据点在最小二乘意义上充分接近.说明说明:最小二乘意义上的最佳拟合函数为最小二乘意义上的
14、最佳拟合函数为f(x)=3ex+4.03x2+0.94 x3.此时的残差是此时的残差是:0.0912.一、数据拟合f(x)=3ex+4.03x2+0.94 x3.拟合函数为拟合函数为:一、数据拟合练习练习:1.已知观测数据点如表所示已知观测数据点如表所示xy03.10.13.270.23.810.34.50.45.180.560.67.050.78.560.89.690.911.25113.17求用三次多项式进行拟合的曲线方程求用三次多项式进行拟合的曲线方程.2.已知观测数据点如表所示已知观测数据点如表所示xy1.617.72.7491.313.14.1189.43.6110.82.334.5
15、0.644.9409.13652.436.9求求a,b,c的值的值,使得曲线使得曲线 f(x)=aex+bsin x+c lnx 与已知数据点在最小二乘意义上充分接近与已知数据点在最小二乘意义上充分接近.一、数据拟合二、数据插值q什么叫数据插值什么叫数据插值u用插值的方法对一函数进行近似用插值的方法对一函数进行近似,要求所得到的插值多项式经过已知插值节点要求所得到的插值多项式经过已知插值节点;u在在n n比较大的情况下比较大的情况下,插值多项式往往是高次多项式插值多项式往往是高次多项式,这也就容易出现振荡现象(龙格现象),即虽这也就容易出现振荡现象(龙格现象),即虽然在插值节点上没有误差然在插
16、值节点上没有误差,但在插值节点之外插值误差变得很大但在插值节点之外插值误差变得很大,从从“整体整体”上看上看,插值逼近效果将插值逼近效果将变得变得“很差很差”u常用插值方法:分段线性插值、三次样条曲线插值常用插值方法:分段线性插值、三次样条曲线插值已知已知 n+1+1个节点个节点,1,0(),(njyxjj其中其中jx互不相同互不相同,不妨设不妨设01),na xxxb求任一插值点求任一插值点)(*jxx 处的插值处的插值.*y节点可视为由节点可视为由)(xgy 产生产生,g 表达式复杂表达式复杂,甚至无表达式甚至无表达式0 x1xnx0y1yu*x*y(,)(0,1,)jjxyjn二、数据插
17、值1.1.分段线性插值分段线性插值xjxj-1xj+1x0 xn实用插值方法实用插值方法机翼下轮廓线机翼下轮廓线2.三次样条插值三次样条插值细木条细木条:样条样条二、数据插值输入输入:节点节点x0,y0,插值点插值点x(均为均为数组数组,长度自定义长度自定义);输出输出:插值插值y(与与x同长度数组同长度数组).1.分段线性插值分段线性插值:y=interp1(x0,y0,x)y=interp1(x0,y0,x,linear)2.三次样条插值三次样条插值:y=interp1(x0,y0,x,spline)或或 y=spline(x0,y0,x)二、数据插值例例 5 对对 在在-1,1上上,用用
18、n=20的等距分点进行分段线性插值的等距分点进行分段线性插值,绘制绘制 f(x)及插值函数的图形及插值函数的图形.2119 fxx解解 在命令窗口输入在命令窗口输入:x=-1:0.1:1y=1./(1+9*x.2)xi=-1:0.1:1yi=interp1(x,y,xi)plot(x,y,r-,xi,yi,*)二、数据插值第十次课到此例例 6 对对 在在-5,5上上,用用n=11个等距分点作分段线性插值和三次样条插值个等距分点作分段线性插值和三次样条插值,用用m=21个插值点个插值点作图作图,比较结果比较结果.211 yx解解 在命令窗口输入在命令窗口输入:n=11,m=21x=-5:10/(
19、m-1):5y=1./(1+x.2)z=0*xx0=-5:10/(n-1):5y0=1./(1+x0.2)y1=interp1(x0,y0,x)y2=interp1(x0,y0,x,spline)x y y1 y2plot(x,z,r,x,y,k:,x,y1,b,x,y2,g)gtext(Piece.-linear.),gtext(Spline),gtext(y=1/(1+x2)二、数据插值 0 1.0000 1.0000 1.0000 0.5000 0.8000 0.7500 0.8205 1.0000 0.5000 0.5000 0.5000 1.5000 0.3077 0.3500 0.
20、2973 2.0000 0.2000 0.2000 0.2000 2.5000 0.1379 0.1500 0.1401 3.0000 0.1000 0.1000 0.1000 3.5000 0.0755 0.0794 0.0745 4.0000 0.0588 0.0588 0.0588 4.5000 0.0471 0.0486 0.0484 5.0000 0.0385 0.0385 0.0385例例 6 对对 在在-5,5上上,用用n=11个等距分点作分段线性插值和三次样条插值个等距分点作分段线性插值和三次样条插值,用用m=21个插值点个插值点作图作图,比较结果比较结果.211 yxxyy1
21、y2二、数据插值解解 在命令窗口输入在命令窗口输入:例例 7 在一天在一天24h内内,从零点开始每间隔从零点开始每间隔2h测得的环境温度为测得的环境温度为12,9,9,10,18,24,28,27,25,20,18,15,13二、数据插值 C(单位单位:)推测在每推测在每1s时的温度时的温度.并描绘温度曲线并描绘温度曲线.t=0:2:24T=12 9 9 10 18 24 28 27 25 20 18 15 13plot(t,T,*)ti=0:1/3600:24T1i=interp1(t,T,ti)plot(t,T,*,ti,T1i,r-)T2i=interp1(t,T,ti,spline)p
22、lot(t,T,*,ti,T1i,r-,ti,T2i,g-)例例 8 在飞机的机翼加工时在飞机的机翼加工时,由于机翼尺寸很大由于机翼尺寸很大,通常在图纸上只能标出部分关键点的数据通常在图纸上只能标出部分关键点的数据.某型号飞某型号飞机的机翼上缘轮廓线的部分数据如下机的机翼上缘轮廓线的部分数据如下:x 0 4.74 9.05 19 38 57 76 95 114 133y 0 5.23 8.1 11.97 16.15 17.1 16.34 14.63 12.16 6.69x 152 171 190y 7.03 3.99 0二、数据插值例例 8 在飞机的机翼加工时在飞机的机翼加工时,由于机翼尺寸很
23、大由于机翼尺寸很大,通常在图纸上只能标出部分关键点的数据通常在图纸上只能标出部分关键点的数据.某型号飞某型号飞机的机翼上缘轮廓线的部分数据如下机的机翼上缘轮廓线的部分数据如下:x=0 4.74 9.05 19 38 57 76 95 114 133 152 171 190y=0 5.23 8.1 11.97 16.15 17.1 16.34 14.63 12.16 9.69 7.03 3.99 0 xi=0:0.001:190yi=interp1(x,y,xi,spline)plot(xi,yi)二、数据插值例例9 天文学家在天文学家在1914年年8月份的月份的7次观测中次观测中,测得地球与金
24、星之间距离测得地球与金星之间距离(单位单位:m),并取其常用对数值并取其常用对数值与日期的一组历史数据如下所示与日期的一组历史数据如下所示,试推断何时金星与地球的距离试推断何时金星与地球的距离(单位单位:m)的对数值为的对数值为 9.9352.日期日期18 20 22 24 26 28 30距离对数距离对数9.9618 9.9544 9.9468 9.9391 9.9312 9.9232 9.9150解解 由于对数值由于对数值 9.9352 位于位于 24 和和 26 两天所对应的对数值之间两天所对应的对数值之间,所以对上述数据用三次样条插值所以对上述数据用三次样条插值加细为步长为加细为步长为
展开阅读全文