MATLAB在非线性曲线拟合中应用研究

MATLAB在非线性曲线拟合中应用研究

ID:36615955

大小:187.00 KB

页数:6页

时间:2019-05-13

MATLAB在非线性曲线拟合中应用研究_第1页
MATLAB在非线性曲线拟合中应用研究_第2页
MATLAB在非线性曲线拟合中应用研究_第3页
MATLAB在非线性曲线拟合中应用研究_第4页
MATLAB在非线性曲线拟合中应用研究_第5页
资源描述:

《MATLAB在非线性曲线拟合中应用研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、刘金行:MATLAB在非线性曲线拟合中的应用小结MATLAB在非线性曲线拟合中的应用小结摘要:归纳总结了非线性曲线拟合的方法、求解步骤和上机操作过程关键词:曲线拟合非线性MATLAB正文:1.曲线拟合的基本原理已知一组测定的数据(例如N个点(xi,yi)去求得自变量x和因变量y的一个近似解析表达式y=φ(x)。若记误差δi=φ(xi)-yi,i=1,2,…N,则要使误差的平方和最小,即要求:为最小,这就是常用的最小二乘法原理。2.MATLAB曲线拟合的相关方法2.1.函数形式:(1)多项式拟合函数polyfit,调用格式为:p=polyfit(x,y,n)其中x,y为参与曲线拟合的实验数据,

2、n为拟合多项式的次数,函数返回值为拟合多项式的系数(按降幂排列)。n=1时,就为线性拟合。例1:给出表1数据,试用最小二乘法求一次和二次拟合多项式。表1数据x-1.00-0.75-0.50-0.2500.250.500.751.00y-0.22090.32950.88261.43922.00032.56453.13343.70614.2836在MATLAB命令窗口中输入:clear;close;x=-1:0.25:1;y=[-0.2209,0.3295,0.8826,1.4392,2.0003,2.5645,3.1334,3.7061,4.2836]p1=polyfit(x,y,1)p2=p

3、olyfit(x,y,2)y1=polyval(p1,x);y2=polyval(p2,x);plot(x,y,'+',x,y1,'r:',x,y2,'k-.')运行结果:6刘金行:MATLAB在非线性曲线拟合中的应用小结拟合多项式为:y*=2.0516+2.0131和y*=0.0313x2+2.2516x+2.20001(2)非线性数据拟合函数lsqcurvefit调用格式为:c=lsqcurvefi(t'fun',x0,xdata,ydata)其中'fun'为拟合函数的M-函数文件名,x0为初始向量,xdata,ydata为参与曲线拟合的实验数据。函数返回值c为非线性函数fun的拟合系数

4、。例2:2004年全国大学生数学建模竞赛C题(酒后驾车)中给出某人在短时间内喝下两瓶啤酒后,间隔一定的时间测量他的血液中酒精含量y(毫克/百毫升),得到数据如表2。表2酒精含量与饮酒时间的实验数据时间(小时)0.250.50.7511.522.533.544.55酒精含量306875828277686858515041时间(小时)678910111213141516酒精含量3835282518151210774通过建立微分方程模型得到短时间内喝酒后血液中酒精浓度与时间的关系为:(2)根据实验数据,利用非线性拟合函数lsqcurvefit,确定模型(2)式中的参数c1,c2,c3。求解过程为:

5、先编写一个M-函数文件Example2_1:functionf=Example2_1(c,tdata)f=c(1)*(exp(-c(2)*tdata)-exp(-c(3)*tdata));保存后,在命令窗口中输入:cleartdata=[0.250.50.7511.522.533.544.55678910111213141516];ydata=[306875828277686858515041383528258151210774];c0=[111];6刘金行:MATLAB在非线性曲线拟合中的应用小结fori=1:50;c=lsqcurvefit('Example2_1',c0,tdata,y

6、data);c0=c;end得到最优解为:c=117.05,0.1930,1.9546从而得出拟合曲线:2.2.图形窗口形式(1)利用多项式拟合的交互图命令(GUI)polytool,调用格式为:polytoo(lx,y)其中x,y分别为实验数据构成的向量,例如利用polytool求解例1的MATLAB命令如下:x=-1:0.25:1y=[-0.2209,0.3295,0.8826,1.4392,2.0003,2.5645,3.1334,3.7061,4.2836];polytool(x,y)打开多项式拟合的交互式界面,由于要拟合的函数为线性函数,因此在多项式拟合交互式界面中的Degree中

7、输入1,点击导出数据Export,出现保存对话框ExporttoWorkspace,选中Parameters(参数),Residuals(残差)后点击OK,在MATLAB的Workspace窗口中可以看到参数为:2.2516和2.0131,即拟合函数为Y*=2.2516x+2.0131。同样如果拟合的函数为二次函数,则只要在Degree中输入2,其它步骤相同,可得拟合函数为:Y*=0.0313x2+2.251

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。