MATLAB中简单的数据拟合方法与应用实例①.doc_第1页
MATLAB中简单的数据拟合方法与应用实例①.doc_第2页
MATLAB中简单的数据拟合方法与应用实例①.doc_第3页
MATLAB中简单的数据拟合方法与应用实例①.doc_第4页
MATLAB中简单的数据拟合方法与应用实例①.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB中简单的数据拟合方法与应用实例仅供努力学习matlab的同学们参考参考,查阅了M多资料,总结了以下方法按步骤做能够基本学会matlab曲线拟合的1.1数据拟合方法1.1.1多项式拟合1.多项式拟合命令polyfit(X,Y,N):多项式拟合,返回降幂排列的多项式系数。Polyval(P,xi):计算多项式的值。其中,X,Y是数据点的值;N是拟合的最高次幂;P是返回的多项式系数;xi是要求的横坐标实例数据:x123456789y9763-125720拟合命令如下:x=1 2 3 4 5 6 7 8 9;y=9 7 6 3 -1 2 5 7 20;P=polyfit(x,y,3);xi=0:.2:10;yi=polyval(P,xi);plot(xi,yi,x,y,r*);拟合曲线与原始数据如图1-1图1-12图形窗口的多项式拟合1)先画出数据点如图1-2x=1 2 3 4 5 6 7 8 9;y=9 7 6 3 -1 2 5 7 20;plot(x,y,r*);图1-22)在图形窗口单击ToolsBasic Fitting,如图1-3勾选.图1-3图1-3右方分别是线性、二阶、三阶对数据进行多项式拟合。下面的柱状图显示残差,可以看出,三阶多项式的拟合效果是最好的。1.1.2指定函数拟合已知M组数据点和对应的函数形式XY编写M文件:syms tx=0;0.4;1.2;2;2.8;3.6;4.4;5.2;6;7.2;8;9.2;10.4;11.6;12.4;13.6;14.4;15;y=1;0.85;0.29;-0.27;-0.53;-0.4;-0.12;0.17;0.28;0.15;-0.03;-0.15;-0.071;0.059;0.08;0.032;-0.015;-0.02;f=fittype(a*cos(k*t)*exp(w*t),independent,t,coefficients,a,k,w);cfun=fit(x,y,f)xi=0:.1:20;yi=cfun(xi);plot(x,y,r*,xi,yi,b-);图1-4运行程序,在命令窗口可达到以下运行结果,图像如图1-4Warning: Start point not provided, choosing random start point. In fithandlewarn at 715 In fit at 315 In Untitled2 at 5cfun = General model: cfun(t) = a*cos(k*t)*exp(w*t) Coefficients (with 95% confidence bounds): a = 0.9987 ( 0.9835, 1.014) k = 1.001 (0.9958, 1.006) w = -0.2066 (-0.2131, -0.2002)从结果可以看出,拟合的曲线为: 。拟合曲线给出了数据大致趋势,并给出了各参数的置信区间。注意:命令窗口中的warning是由a,k,w这3个参数的初始值未给出导致的,如果给出的拟合结果不理想,可以多运行几次。备注:补充1.matlab中的cftool一、 单一变量的曲线逼近Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A0,B0 。1、在命令行输入数据:x=110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447 296.204 311.5475;y=5 10 15 20 25 30 35 40 45 50;2、启动曲线拟合工具箱cftool3、进入曲线拟合工具箱界面“Curve Fitting tool”(1)点击“Data”按钮,弹出“Data”窗口;(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数据集的曲线图;(3)点击“Fitting”按钮,弹出“Fitting”窗口;(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有: * Custom Equations:用户自定义的函数类型 * Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x) * Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w) * Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-(x-b1)/c1)2) * Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving * Polynomial:多形式逼近,有9种类型,linear 、quadratic 、cubic 、4-9th degree * Power:幂逼近,有2种类型,a*xb 、a*xb + c * Rational:有理数逼近,分子、分母共有的类型是linear 、quadratic 、cubic 、4-5th degree ;此外,分子还包括constant型 * Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思) * Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1) * Weibull:只有一种,a*b*x(b-1)*exp(-a*xb)选择好所需的拟合曲线类型及其子类型,并进行相关设置:如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改待估计参数的上下限等参数;如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear Equations线性等式”和“General Equations构造等式”两种标签。在本例中选Custom Equations,点击“New”按钮,选择“General Equations”标签,输入函数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。(5)类型设置完成后,点击“Apply”按钮,就可以在Results框中得到拟合结果,如下例:general model:f(x) = a*x*x+b*xCoefficients (with 95% confidence bounds):a = 0.009194 (0.009019, 0.00937)b = 1.78e-011 (fixed at bound)Goodness of fit:SSE: 6.146R-square: 0.997Adjusted R-square: 0.997RMSE: 0.8263同时,也会在工具箱窗口中显示拟合曲线。这样,就完成一次曲线拟合啦,十分方便快捷。当然,如果你觉得拟合效果不好,还可以在“Fitting”窗口点击“New fit”按钮,按照步骤(4)(5)进行一次新的拟合。不过,需要注意的是,cftool 工具箱只能进行单个变量的曲线拟合,即待拟合的公式中,变量只能有一个。对于混合型的曲线,例如 y = a*x + b/x ,工具箱的拟合效果并不好。补充2.MATLAB拟合、优化、统计等工具箱专有名词解释:SSE(和方差、误差平方和):The sum of squares due to errorMSE(均方差、方差):Mean squared errorRMSE(均方根、标准差):Root mean squared errorR-square(确定系数):Coefficient of determinationAdjusted R-square:Degree-of-freedom adjusted coefficient of determination下面我对以上几个名词进行详细的解释下,相信能给大家带来一定的帮助!一、SSE(和方差)该统计参数计算的是拟合数据和原始数据对应点的误差的平方和,计算公式如下SSE越接近于0,说明模型选择和拟合更好,数据预测也越成功。接下来的MSE和RMSE因为和SSE是同出一宗,所以效果一样二、MSE(均方差)该统计参数是预测数据和原始数据对应点误差的平方和的均值,也就是SSE/n,和SSE没有太大的区别,计算公式如下三、RMSE(均方根)该统计参数,也叫回归系统的拟合标准差,是MSE的平方根,就算公式如下在这之前,我们所有的误差参数都是基于预测值(y_hat)和原始值(y)之间的误差(即点对点)。从下面开始是所有的误差都是相对原始数据平均值(y_ba)而展开的(即点对全)!四、R-square(确定系数)在讲确定系数之前,我们需要介绍另外两个参数SSR和SST,因为确定系数就是由它们两个决定的(1)SSR:Sum of squares of the regression,即预测数据与原始数据均值之差

温馨提示

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

评论

0/150

提交评论