数学建模Matlab数据拟合详解_第1页
数学建模Matlab数据拟合详解_第2页
数学建模Matlab数据拟合详解_第3页
数学建模Matlab数据拟合详解_第4页
数学建模Matlab数据拟合详解_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用Matlab進行数据拟合1.多项式曲线拟合:polyfit.y0=polyval(p,x0)p=polyfit(x,y,m)其中,x,y為已知数据點向量,分别表达横,纵坐標,m為拟合多项式的次数,成果返回m次拟合多项式系数,從高次到低次寄存在向量p中.可求得多项式在x0处的值y0.例1已知观测数据點如表所示xy0-0.4470.11.9780.23.280.36.160.47.080.57.340.67.660.79.560.89.480.99.3111.2分别用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.2]plot(x,y,'k.','markersize',25)axis([01.3-216])p3=polyfit(x,y,3)p6=polyfit(x,y,6)编写Matlab程序如下:t=0:0.1:1.2s=polyval(p3,t)s1=polyval(p6,t)holdonplot(t,s,'r-','linewidth',2)plot(t,s,'b--','linewidth',2)gridx=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.2]plot(x,y,'k.','markersize',25)axis([01.3-216])p3=polyfit(x,y,3)p6=polyfit(x,y,6)例2用切削机床進行金属品加工時,為了合适地调整机床,需要测定刀具的磨损速度.在壹定的時间测量刀具的厚度,得数据如表所示:切削时间t/h030.0129.1228.4328.1428.0527.7627.5727.2827.0刀具厚度y/cm切削时间t/h926.81026.51126.31226.11325.71425.31524.81624.0刀具厚度y/cm解:描出散點图,在命令窗口输入:t=[0:1:16]y=[30.029.128.428.128.027.727.527.227.026.826.526.326.125.725.324.824.0]plot(t,y,'*')解:描出散點图,在命令窗口输入:t=[0:1:16]y=[30.029.128.428.128.027.727.527.227.026.826.526.326.125.725.324.824.0]plot(t,y,'*')a=-0.301229.3804holdonplot(t,y1),holdoffa=polyfit(t,y,1)y1=-0.3012*t+29.3804例2用切削机床進行金属品加工時,為了合适地调整机床,需要测定刀具的磨损速度.在壹定的時间测量刀具的厚度,得数据如表所示:切削時间t/h030.0129.1228.4328.1428.0527.7627.5727.2827.0刀具厚度y/cm切削時间t/h926.81026.51126.31226.11325.71425.31524.81624.0刀具厚度y/cm拟合曲线為:y=-0.3012t+29.3804例3壹种15.4cm×30.48cm的混凝土柱在加压试验中的应力-应变关系测试點的数据如表所示1.552.472.933.03已知应力-应变关系可以用壹条指数曲线来描述,即假设式中,表示应力,单位是N/m2;表示应变.2.89已知应力-应变关系可以用壹条指数曲线来描述,即假设式中,表示应力,单位是N/m2;表示应变.解选用指数函数作拟合時,在拟合前需作变量代换,化為k1,k2的线性函数.于是,令即在命令窗口输入:x=[500*1.0e-61000*1.0e-61500*1.0e-6*1.0e-62375*1.0e-6]y=[3.103*1.0e+32.465*1.0e+31.953*1.0e+31.517*1.0e+31.219*1.0e+3]z=log(y)a=polyfit(x,z,1)k1=exp(8.3009)w=[1.552.472.933.032.89]plot(x,w,'*')y1=exp(8.3009)*x.*exp(-494.5209*x)plot(x,w,'*',x,y1,'r-')已知应力-应变关系可以用壹条指数曲线来描述,即假设式中,表示应力,单位是N/m2;表示应变.拟合曲线為:令则求得于是在实际应用中常見的拟合曲线有:直线多项式壹般n=2,3,不适宜過高.双曲线(壹支)指数曲线2.非线性曲线拟合:lsqcurvefit.功能:x=lsqcurvefit(fun,x0,xdata,ydata)[x,resnorm]=lsqcurvefit(fun,x0,xdata,ydata)根据給定的数据xdata,ydata(對应點的横,纵坐標),按函数文献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与已知数据點在最小二乘意义上充足靠近.首先编写存储拟合函数的函数文献.functionf=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与已知数据點在最小二乘意义上充足靠近.编写下面的程序调用拟合函数.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]=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]=lsqcurvefit(@nihehanshu,x0,xdata,ydata)程序运行後显示x=3.00224.03040.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与已知数据點在最小二乘意义上充足靠近.阐明:最小二乘意义上的最佳拟合函数為f(x)=3ex+4.03x2+0.94x3.此時的残差是:0.0912.f(x)=3ex+4.03x2+0.94x3.拟合函数為:练习: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.50.644.9409.13652.436.9求a,b,c的值,使得曲线f(x)=aex+bsinx+clnx与已知数据點在最小二乘意义上充足靠近.插值問題已知n+1个节点其中互不相同,不妨设求任一插值点处的插值节点可视为由产生,g体現式复杂,甚至無体現式

1.分段线性插值

xjxj-1xj+1x0xn实用插值措施机翼下轮廓线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)用Matlab作插值计算例5对在[-1,1]上,用n=20的等距分点进行分段线性插值,绘制f(x)及插值函数的图形.解在命令窗口输入: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个插值点作图,比较结果.解在命令窗口输入:n=11,m=21x=-5:10/(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'y2']plot(x,z,'r',x,y,'k:',x,y1,'b',x,y2,'g')gtext('Piece.-linear.'),gtext('Spline'),gtext('y=1/(1+x^2)')01.00001.00001.00000.50000.80000.75000.82051.00000.50000.50000.50001.50000.30770.35000.29732.00000.0.0.2.50000.13790.15000.14013.00000.10000.10000.10003.50000.07550.07940.07454.00000.05880.05880.05884.50000.04710.04860.04845.00000.03850.03850.0385例6对在[-5,5]上,用n=11个等距分点作分段线性插值和三次样条插值,用m=21个插值点作图,比较结果.xyy1y2解在命令窗口输入:例7在壹天24h内,從零點開始每间隔2h测得的环境温度為12,9,9,10,18,24,28,27,25,20,18,15,13(單位:)推测在每1s時的温度.并描绘温度曲线.t=0:2:24T=[129910182428272520181513]plot(t,T,'*')ti=0:1/3600:24T1i=interp1(t,T,ti)plot(t,T,'*',ti,T1i,'r-')T2i=interp1(t,T,ti,'spline')plot(t,T,'*',ti,T1i,'r-',ti,T2i,'g-')例8在飞机的机翼加工時,由于机翼尺寸很大,壹般在图紙上只能標出部分要點的数据.某型号飞机的机翼上缘轮廓线的部分数据如下:x04.749.051938577695114133y05.238.111.9716.1517.116.3414.6312.166.69x152171190y7.033.990例8在飞机的机翼加工時,由于机翼尺寸很大,壹般在图紙上只能標出部分要點的数据.某型号飞机的机翼上缘轮廓线的部分数据如下:x=[04.749.051938577695114133152171190]y=[05.238.111.9716.1517.116.3414.6312.169.697.033.990]xi=[0:0.001:190]yi=interp1(x,y,xi,'spline')plot(xi,yi)例9天文學家在198月份的7次观测中,测得地球与金星之间距离(單位:m),并取其常用對数值与曰期的壹组历史数据如下所示,试推断何時金星与地球的距离(單位:m)的對数值為9.9352.曰期18202224262830距离對数9.96189.95449.94689.93919.93129.92329.9150解由于對数值9.9352位于24和26两天所對应的對数值之间,因此對上述数据用三次样条插值加细為步長為1的数据:解由于對数值9.9352位于24和26两天所對应的對数值之间,因此對上述数据用三次样条插值加细為步長為1的数据:x=[18:2:30]y=[9.96189.95449.94689.93919.93129.92329.9150]xi=[18:1:30]yi=interp1(x,y,xi,'spline')A=[xi;yi]A=18.000019.000020.000021.000022.000023.000024.000025.000026.000027.000028.000029.000030.00009.96189.95819.95449.95069.94689.94309.93919.93529.93129.92729.92329.91919.9150练习:1.设在区间[-2,2]上用10等分點作為节點,分别用三种插值措施:(1)计算并输出在该区间的20等分點的函数值.(2)输出這個函数及两個插值函数的图形.(3)對输出的数据和图形進行分析.1.设在区间[-2,2]上用10等分點作為节點,分别用三种插值措施:(1)计算并输出在该区间的20等分點的函数值.zi=0.01830.03870.07730.14110.23690.36850.52730.69800.85210.95991.00000.95990.85210.69800.52730.36850.23690.14110.07730.03870.01831.设在区间[-2,2]上用10等分點作為节點,分别用两种插值措施:(2)输出這個函数及两個插值函数的图形.练习:2.已知某型号飞机的机翼断面下缘轮廓线上的部分数据如表所示:假设需要得到x坐標每变化0.1時的y坐標,分别用两种插值措施對机翼断面下缘轮廓线上的部分数据加细,并作出插值函数的图形.xy0031.251.772.092.1112.0121.8131.2141.0151.6例5給药方案。

一种新药用于临床之前,必须设计给药方案.在快速静脉注射的给药方式下,所谓给药方案是指,每次注射剂量多大,间隔时间多长.药物进入机体后随血液输送到全身,在这个过程中不断地被吸收,分布,代谢,最终排除体外.药物在血液中的浓度,即单位体积血液中的药物含量,称血药浓度.在最简单的一室模型中,将整个机体看作一个房室,称中心室,室内的血药浓度是均匀的.快速静脉注射后,浓度立即上升;然后逐渐下降.当浓度太低时,达不到预期的治疗效果;血药浓度太高,又可能导致药物中毒或副作用太强.临床上,每种药物有一个最小有效浓度c1和一个最大治疗浓度c2.设计给药方案时,要使血药浓度保持在c1-c2之间.设本题所研究药物的最小有效浓度c1=10,最大治疗浓度c2=25例5給药方案。

显然,要设计給药方案,必须懂得給药後血药浓度随時间变化的规律.為此,從试验和理论两方面著手.在试验方面,對某人用迅速静脉注射方式壹次注入该药物300mg後,在壹定期刻t(小時)采集血样,测得血药浓度c如表:

血药浓度c(t)的测试数据t0.250.511.523468c19.2118.1515.3614.1012.899.327.455.243.01例5給药方案

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论