当前位置:文档之家› 曲线拟合工具箱 CFtool 使用简介 CFtool简介

曲线拟合工具箱 CFtool 使用简介 CFtool简介

曲线拟合工具箱 CFtool 使用简介 CFtool简介
曲线拟合工具箱 CFtool 使用简介 CFtool简介

曲线拟合工具箱CFtool使用简介

一、CFtool简介

Matlab有一个功能强大的曲线拟合工具箱cftool,使用方便,能实现多种类型的线性、非线性曲线拟合。它的使用简介如下(Matlab R2011b中)。

假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0, B>0 。

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.启动曲线拟合工具箱:

cftool

3.进入曲线拟合工具箱界面“Curve Fitting tool”:

1)利用X data和Y data的下拉菜单读入数据x,y,这时会自动画出数据集的曲线图,注意右侧的Auto fit选项;

2)通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有:

(1)Custom Equations:用户自定义的函数类型

(2)Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)

(3)Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)

(4)Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2) (5)Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving

(6)Polynomial:多形式逼近,有9种类型,linear polynomial、quadratic polynomial、cubic polynomial以及4-9th degree polynomial (7)Power:幂逼近,有2种类型,a*x^b 、a*x^b + c

(8)Rational:有理数逼近,分子(Numerator)、分母(Denominator)共有的类型是linear rational、quadratic rational、cubic rational、4-5th degree rational;此外,分子(Numerator)还包括constant型

(9)Smoothing Spline:平滑样条逼近

(10)Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是

a1*sin(b1*x + c1)

(11)Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)

3)选择好所需的拟合曲线类型及其子类型,并进行相关设置:

——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改待估计参数的上下限等参数;

——如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear Equations线性等式”和“General Equations构造等式”两种标签。

作为练习,读者可以利用上节的附录1的关于世博会官网的统计数据(8月30日前每日入

园的人数),选择拟合曲线的类型为3次多项式,利用Matlab对第x天和该天参观的人数进行拟合。所得结果与利用Excel的结果应该是一致的。y

[整理]matlab拟合工具箱的使用.

matlab拟合工具箱使用 2011-06-17 12:53 1.打开CFTOOL工具箱。在Matlab 6.5以上的环境下,在左下方有一个"Start"按钮,如同Windows的开始菜单,点开它,在目录"Toolboxes"下有一个"Curve Fitting",点开"Curve Fitting Tool",出现数据拟合工具界面,基本上所有的数据拟合和回归分析都可以在这里进行。也可以在命令窗口中直接输入”cftool”,打开工具箱。 2.输入两组向量x,y。 首先在Matlab的命令行输入两个向量,一个向量是你要的x坐标的各个数据,另外一个是你要的y坐标的各个数据。输入以后假定叫x向量与y向量,可以在workspace里面看见这两个向量,要确保这两个向量的元素数一致,如果不一致的话是不能在工具箱里面进行拟合的。 例如在命令行里输入下列数据: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196]; 3.数据的选取。打开曲线拟合共工具界面,点击最左边的"Data..."按钮,出现一个Data对话框,在Data Sets页面里,在X Data选项中选取x向量,Y Data 选项中选取y向量,如果两个向量的元素数相同,那么Create data set按钮就激活了,此时点击它,生成一个数据组,显示在下方Data Sets列表框中。关闭Data对话框。此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。

MATLAB中如何直接曲线拟合

MATLAB中如何直接曲线拟合,而不使用cftool的GUI 界面 我们知道在MATLAB中有个很方便的曲线拟合工具:cftool 最基本的使用方法如下,假设我们需要拟合的点集存放在两个向量X和Y中,分别储存着各离散点的横坐标和纵坐标,则在MATLAB中直接键入命令 cftool(X,Y) 就会弹出Curve Fitting Tool的GUI界面,点击界面上的fitting即可开始曲线拟合。 MATLAB提供了各种曲线拟合方法,例如:Exponential, Fourier, Gaussing, Interpolant, Polynomial, Power, Rational, Smoothing Spline, Sum of Functions, Weibull等,当然,也可以使用 Custom Equations. cftool不仅可以绘制拟合后的曲线、给出拟合参数,还能给出拟合好坏的评价 参数(Goodness of fit)如SSE, R-square, RMSE等数据,非常好用。但是如果我们已经确定了拟合的方法,只需要对数据进行计算,那么这种GUI的操作方式就不太适合了,比如在m文件中就不方便直接调用cftool。 MATLAB已经给出了解决办法,可以在cftool中根据情况生成特定的m文件,让我们直接进行特定的曲线拟合并给出参数。具体方法在帮助文件的如下文档中" \ Curve Fitting Toolbox \ Generating M-files From Curve Fitting Tool " ,以下简单举例说明: 以双色球从第125期到第145期蓝球为Y值: Y=[12 15 4 1 7 11 5 7 1 6 16 1 1 14 2 12 9 13 10 12 11]; X=1:1:21; cftool(X,Y); 点击Fitting选择最常用的多项式拟合(Polynomial),选择3次多项式拟合(cubic),然后就会出现如下拟合图形: 然后在Curve Fitting Tool窗口中点击 " \ File \ Generate M-file " 即可生成能直接曲线拟合的m函数文件,其中使用的拟合方法就是刚才使用的三次多项式拟合,文件中这条语句证明了这一点: ft_ = fittype('poly3'); 保存该m文件(默认叫做createFit.m),调用方法和通常的m文件一样,使用不同的X和Y值就能拟合出不同的曲线。但是,这种调用方法只能看到一个拟合出的图形窗口,拟合参数以及Goodness of fit参数都看不到了,因此需要在刚才的m文件中稍作修改。 找到这句话: cf_ = fit(X(ok_),Y(ok_),ft_); 修改为: [cf_,gof] = fit(X(ok_),Y(ok_),ft_); 然后将函数声明 function createFit(X,Y) 修改为 function [cf_,gof] = createFit(X,Y) ,这样我们再调用试试看: Y=[12 15 4 1 7 11 5 7 1 6 16 1 1 14 2 12 9 13 10 12 11]; X=1:1:21;

Matlab曲线拟合工具箱cftool功能

Matlab的曲线拟合工具箱CFtool功能 一、单一变量的曲线逼近 Matlab有一个功能强大的曲线拟合工具箱cftool ,使用方便,能实现多种类型的线性、非线 性曲线拟合。下面结合我使用的Matlab R2007b 来简单介绍如何使用这个工具箱。 假设我们要拟合的函数形式是y=A*x*x + B*x, 且A>0,B>0 。 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、启动曲线拟合工具箱 》cftool 3、进入曲线拟合工具箱界面“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*x^b 、a*x^b + 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*x^b) 选择好所需的拟合曲线类型及其子类型,并进行相关设置: ——如果是非自定义的类型,根据实际需要点击“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框中得到拟合结果,如下例:

matlab工具箱

至于工具箱的安装说明参见: https://www.doczj.com/doc/a58190406.html,/viewthread.php?tid=120&page=1&fromuid=4481#p id123 Maplesoft《Maple Toolbox for MATLAB》 https://www.doczj.com/doc/a58190406.html,/thread-236-1-1.html Sergiy Iglin《Graph Theory Toolbox》(图论工具 箱)https://www.doczj.com/doc/a58190406.html,/thread-295-1-1.html Koert Kuipers《Branch And Bound toolbox 2.0》(BNB20分支定界工具 箱)https://www.doczj.com/doc/a58190406.html,/thread-226-1-1.html Howard Wilson《Numerical Integration Toolbox》(NIT数值积分工具 箱)https://www.doczj.com/doc/a58190406.html,/thread-225-1-1.html Anton Zaicenco《FEM toolbox for solid mechanics》(固体力学有限元工具箱)https://www.doczj.com/doc/a58190406.html,/thread-219-1-1.html Nicholas J. Higham《The Matrix Computation Toolbox》(矩阵计算工具箱) https://www.doczj.com/doc/a58190406.html,/thread-422-1-1.html Paolo Di Prodi《robotic toolbox》(机器人工具 箱)https://www.doczj.com/doc/a58190406.html,/thread-274-1-1.html Moein Mehrtash《GPS Navigation Toolbox 》(GPS导航工具箱) https://www.doczj.com/doc/a58190406.html,/thread-228-1-1.html J.Divahar 《Airfoil_Analyzer_toolbox》(翼型分析工具箱) https://www.doczj.com/doc/a58190406.html,/thread-218-1-1.html Rasmus Anthin《Multivariable Calculus Toolbox 》(多变量微积分工具 箱)https://www.doczj.com/doc/a58190406.html,/thread-251-1-1.html 《Time frequency analysis toolbox》(时频分析工具 箱)https://www.doczj.com/doc/a58190406.html,/thread-439-1-1.html

拟合工具箱参数说明

拟合工具箱的几个误差参数说明 SSE(和方差、误差平方和):The sum of squares due to error RMSE(均方根、标准差):Root mean squared error R-square(确定系数):Coefficient of determination Adjusted 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,即预测数据与原始数据均值之差的平方和,公式如下 (2)SST:Total sum of squares,即原始数据和均值之差的平方和,公式如下 SST=SSE+SSR, 其实“确定系数”是通过数据的变化来表征一个拟合的好坏。由上面的表达式可以知道“确定系数”的正常取值范围为[0 1],越接近1,表明方程的变量对y的解释能力越强,这个模型对数据拟合的也较好

Matlab的曲线拟合工具箱CFtool使用简介

假设我们要拟合的函数形式是y=A*x*x + B*x,且A>0,B>0。 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、启动曲线拟合工具箱 》cftool 3、进入曲线拟合工具箱界面“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*x^b、a*x^b + 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*x^b)

Matlab曲线拟合及工具箱简介

MATLAB曲线拟合 一、单一变量的曲线逼近 Matlab有一个功能强大的曲线拟合工具箱cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。下面结合我使用的Matlab R2007b 来简单介绍如何使用这个工具箱。 假设我们要拟合的函数形式是y=A*x*x + B*x, 且A>0,B>0 。 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、启动曲线拟合工具箱 》cftool 3、进入曲线拟合工具箱界面“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*x^b 、a*x^b + 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*x^b) 选择好所需的拟合曲线类型及其子类型,并进行相关设置: ——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,

Matlab curve fitting tool用法图文教程要点

Matlab curve fitting tool的用法 MATLAB拟合工具箱可以方便地拟合一元函数。我们先来构造一个带有误差的数据: 其中噪声Noise服从4倍标准正态分布:然后利用MATLAB拟合工具箱进行拟合。在命令窗拷入以下代码: % 产生模拟数据 x=-6:0.2:6; y=7*sin(x)+x.^2-0.1*exp(x)+4*randn(size(x)); % 画出模拟数据曲线,颜色:黑,线宽:2, 标记大小:8,形状:圆圈 plot(x,y,'Color','k','LineW',2,'MarkerSize',8,'Marker','o') % 坐标字符大小16 set(gca,'FontS',16) % 在规定坐标位置加文字说明 text(-2,40,'y=7sin(x)+x^2-0.1e^x+Noise','FontS',16) % 坐标轴显示范围 axis([-6 6 -15 50])

运行结果: Fig-1

拟合步骤如下: 1)打开Curve fitting tool: 在命令窗中直接键入 cftool,这时显示出拟合工具窗的GUI: Fig-2

2)选择Data,在X Data 和 Y Data 中选择数据,必要的话加上权数据,在 D ata set name 框中给你拟合的数据起名(例如 xy),然后按Create data set,则数据在拟合工具窗显现。 Fig-3

3)按Fitting 键,显示拟合编辑器: Fig-4

按Creat data set,我们从数据窗中看到了刚才保存的拟合数据xy。 Fig-5

Matlab各工具箱功能简介(部分)

Toolbox工具箱 序号工具箱备注 一、数学、统计与优化 1 Symbolic Math Toolbox 符号数学工具箱 Symbolic Math Toolbox?提供用于求解和推演符号运算表达式以及执行可变精度算术的函数。您可以通过分析执行微分、积分、化简、转换以及方程求解。另外,还可以利用符号运算表达式为MATLAB?、Simulink?和Simscape?生成代码。 Symbolic Math Toolbox 包含MuPAD?语言,并已针对符号运算表达式的处理和执行进行优化。该工具箱备有MuPAD 函数库,其中包括普通数学领域的微积分和线性代数,以及专业领域的数论和组合论。此外,还可以使用MuPAD 语言编写自定义的符号函数和符号库。MuPAD 记事本支持使用嵌入式文本、图形和数学排版格式来记录符号运算推导。您可以采用HTML 或PDF 的格式分享带注释的推导。 2 Partial Differential Euqation Toolbox 偏微分方程工具箱 偏微分方程工具箱?提供了用于在2D,3D求解偏微分方程(PDE)以及一次使用有限元分析。它可以让你指定和网格二维和三维几何形状和制定边界条件和公式。你能解决静态,时域,频域和特征值问题在几何领域。功能进行后处理和绘图效果使您能够直观地探索解决方案。 你可以用偏微分方程工具箱,以解决从标准问题,如扩散,传热学,结构力学,静电,静磁学,和AC电源电磁学,以及自定义,偏微分方程的耦合系统偏微分方程。 3 Statistics Toolbox 统计学工具箱

4 Curve Fitting Toolbox 曲线拟合工具箱 Curve Fitting Toolbox?提供了用于拟合曲线和曲面数据的应用程序和函数。使用该工具箱可以执行探索性数据分析,预处理和后处理数据,比较候选模型,删除偏值。您可以使用随带的线性和非线性模型库进行回归分析,也可以指定您自行定义的方程式。该库提供了优化的解算参数和起始条件,以提高拟合质量。该工具箱还提供非参数建模方法,比如样条、插值和平滑。 在创建一个拟合之后,您可以运用多种后处理方法进行绘图、插值和外推,估计置信区间,计算积分和导数。 5 Optimization Toolbox 优化工具箱 Optimization Toolbox?提供了寻找最小化或最大化目标并同时满足限制条件的函数。工具箱中包括了线性规划、混合整型线性规划、二次规划、非线性优化、非线性最小二乘的求解器。您可以使用这些求解器寻找连续与离散优化问题的解决方案、执行折衷分析、以及将优化的方法结合到其算法和应用程序中。 6 Global Optimization Toolbox 全局优化工具箱 Global Optimization Toolbox 所提供的方法可为包含多个极大值或极小值的问题搜索全局解。它包含全局搜索、多初始点、模式搜索、遗传算法和模拟退火求解器。对于目标

MATLAB中简单的数据拟合方法与应用实例①

MATLAB中简单的数据拟合方法与应用实例 仅供努力学习matlab的同学们参考参考,查阅了M多资料,总结了以下方法 按步骤做能够基本学会matlab曲线拟合的 1.1数据拟合方法 1.1.1多项式拟合 1.多项式拟合命令 polyfit(X,Y,N):多项式拟合,返回降幂排列的多项式系数。 Polyval(P,xi):计算多项式的值。 其中,X,Y是数据点的值;N是拟合的最高次幂;P是返回的多项式系数;xi是要求的横坐标 拟合命令如下: 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-1 2图形窗口的多项式拟合 1)先画出数据点如图1-2 x=[1 2 3 4 5 6 7 8 9]; y=[9 7 6 3 -1 2 5 7 20]; plot(x,y,'r*');

图1-2 2)在图形窗口单击Tools—Basic Fitting,如图1-3勾选. 图1-3 图1-3右方分别是线性、二阶、三阶对数据进行多项式拟合。下面的柱状图显示残差,可以看出,三阶多项式的拟合效果是最好的。 1.1.2指定函数拟合 已知M组数据点和对应的函数形式f t (t)=acos(kt)e X Y 编写M文件:

syms t x=[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-4 Warning: Start point not provided, choosing random start point. > In fit>handlewarn at 715 In fit at 315 In Untitled2 at 5 cfun = 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) 从结果可以看出,拟合的曲线为: (0.2066) ()0.9987cos(1.001)*t f t t e- =。拟 合曲线给出了数据大致趋势,并给出了各参数的置信区间。

工具箱曲线拟合类型+评价解释

进入曲线拟合工具箱界面“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*x^b 、a*x^b + 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*x^b) 选择好所需的拟合曲线类型及其子类型,并进行相关设置: ——如果是非自定义的类型,根据实际需要点击“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*x Coefficients (with 95% confidence bounds): a = 0.009194 (0.009019, 0.00937) b = 1.78e-011 (fixed at bound) Goodness of fit: SSE: 6.146 R-square: 0.997 Adjusted R-square: 0.997 RMSE: 0.8263 同时,也会在工具箱窗口中显示拟合曲线。 这样,就完成一次曲线拟合啦,十分方便快捷。当然,如果你觉得拟合效果不好,还可以在“Fitting”窗口点击“New fit”按钮,按照步骤(4)~(5)进行一次新的拟合。 不过,需要注意的是,cftool 工具箱只能进行单个变量的曲线拟合,即待拟合的公式中,变量只能有一个。对于混合型的曲线,例如y = a*x + b/x ,工具箱的拟合效果并不好。

matlab最小二乘法的非线性参数拟合

matlab最小二乘法的非线性参数拟合 首先说一下匿名函数:在创建匿名函数时,Matlab记录了关于函数的信息,当使用句柄调用该函数的时候,Matlab不再进行搜索,而是立即执行该函数,极大提高了效率。所以首选匿名函数。具体拟合时可以使用的方法如下: 1 曲线拟合工具箱提供了很多拟合函数,使用简单 非线性拟合nlinfit函数 clear all; x1=[0.4292 0.4269 0.381 0.4015 0.4117 0.3017]'; x2=[0.00014 0.00059 0.0126 0.0061 0.00425 0.0443]'; x=[x1 x2]; y=[0.517 0.509 0.44 0.466 0.479 0.309]'; f=@(p,x) 2.350176*p(1)*(1-1/p(2))*(1-(1-x(:,1).^(1/p(2))).^p(2)).^2.*(x(:,1).^ (-1/p(2))-1).^(-p(2)).*x(:,1).^(-1/p(2)-0.5).*x(:,2); p0=[8 0.5]'; opt=optimset('TolFun',1e-3,'TolX',1e-3);% [p R]=nlinfit(x,y,f,p0,opt) 2 最小二乘法在曲线拟合中比较普遍。拟合的模型主要有 1.直线型 2.多项式型 3.分数函数型 4.指数函数型 5.对数线性型 6.高斯函数型 一般对于LS问题,通常利用反斜杠运算“\”、fminsearch或优化工具箱提供的极小化函数求解。在Matlab中,曲线拟合工具箱也提供了曲线拟合的图形界面操作。在命令提示符后键入:cftool,即可根据数据,选择适当的拟合模型。 “\”命令 1.假设要拟合的多项式是:y=a+b*x+c*x^ 2.首先建立设计矩阵X: X=[ones(size(x)) x x^2]; 执行: para=X\y para中包含了三个参数:para(1)=a;para(2)=b;para(3)=c; 这种方法对于系数是线性的模型也适应。 2.假设要拟合:y=a+b*exp(x)+cx*exp(x^2) 设计矩阵X为 X=[ones(size(x)) exp(x) x.*exp(x.^2)]; para=X\y 3.多重回归(乘积回归) 设要拟合:y=a+b*x+c*t,其中x和t是预测变量,y是响应变量。设计矩阵为X=[ones(size(x)) x t] %注意x,t大小相等! para=X\y

使用Matlabcftool工具箱对图像进行拟合

使用Matlab cftool工具箱对图像进行拟合 Matlab提供了强大的工具箱系统,利用工具箱进行各种操作简单快捷。 此处介绍使用cftool(Curve Fitting Tool)进行图像拟合操作。网上有很多关于图像拟合的代码,但是如果照着运行不是上传代码的通知有所保留,就是环境不同无法运行,即使千方百计做出来,也难以举一反三,攻克其他的难题。使用cftool工具箱的流程如下:假定对X-Y坐标下的一组散点进行拟合,如 A=[4 5 9 15 17 29 40 50 79]; B=[14 19 39 40 70 100 140 290 400]; 在Command界面输入如下两组数组,A代表X坐标的数值,B代表Y坐标下的数值。 输入cftool回车。如图: 可以打开cftool主界面 单击Data选项框,设定X Data为A,Y Data为B,如图: 可见Preview栏中自动绘制出了散点图。并且选择Create data set选项框,此时散点图会被复制到

cftool主界面中。单击Fitting选项框,弹出Fitting界面,在Fitting Editor选项框中选择New Fit。如图产生如下效果: 此处只需按照需求更改Type of fit以及下面备选框中的曲线名称。Type of fit中有如下选项:Polynomial(线性拟合),Exponential(指数函数拟合),Fourier(傅里叶函数拟合)等等。此处先选择Polynomial一次线性拟合。在备选框中选择linear Polynomial。单击Apply。返回cftool主界面,会产生如下效果:拟合成的曲线被绘制为红色,大功告成。

Matlab各工具箱功能简介(部分)

Toolbox工具箱序号工具箱备注一、数学、统计与优化 1 Symbolic Math Toolbox 符号数学工具箱Symbolic Math Toolbox?提供用于求解和推演符号运算表达式以及执行可变精度算术的函数。您可以通过分析执行微分、积分、化简、转换以及方程求解。另外,还可以利用符号运算表达式为 MATLAB、Simulink 和Simscape?生成代码。 Symbolic Math Toolbox 包含 MuPAD 语言,并已针对符号运算表达式的处理和执行进行优化。该工具箱备有 MuPAD 函数库,其中包括普通数学领域的微积分和线性代数,以及专业领域的数论和组合论。此外,还可以使用 MuPAD 语言编写自定义的符号函数和符号库。MuPAD 记事本支持使用嵌入式文本、图形和数学排版格式来记录符号运算推导。您可以采用 HTML 或 PDF 的格式分享带注释的推导。 2 Partial Differential Euqation Toolbox 偏微分方程工具箱偏微分方程工具箱?提供了用于在2D,3D求解偏微分方程(PDE)以及一次使用有限元分析。它可以让你指定和网格二维和三维几何形状和制定边界条件和公式。你能解决静态,时

域,频域和特征值问题在几何领域。功能进行后处理和绘图效果使您能够直观地探索解决方案。你可以用偏微分方程工具箱,以解决从标准问题,如扩散,传热学,结构力学,静电,静磁学,和AC电源电磁学,以及自定义,偏微分方程的耦合系统偏微分方程。 3 Statistics Toolbox 统计学工具箱Statistics and Machine Learning Toolbox 提供运用统计与机器学习来描述、分析数据和对数据建模的函数和应用程序。您可以使用用于探查数据分析的描述性统计和绘图,使用概率分布拟合数据,生成用于 Monte Carlo 仿真的随机数,以及执行假设检验。回归和分类算法用于依据数据执行推理并构建预测模型。 对于分析多维数据,Statistics and Machine Learning Toolbox 可让您通过序列特征选择、逐步回归、主成份分析、规则化和其他降维方法确定影响您的模型的主要变量或特征。该工具箱提供了受监督和不受监督机器学习算法,包括支持向量机(SVM)、促进式 (boosted) 和袋装 (bagged) 决策树、k-最近邻、k-均值、k-中心点、分层聚类、高斯混合模型和隐马尔可夫模型。 4 Curve Fitting Toolbox 曲线拟合工具箱Curve Fitting Toolbox?提供了用于拟合曲线和

Matlab拟合工具箱CFtool使用指南

matlab拟合工具箱使用 1.打开CFTOOL工具箱 在Matlab 6.5以上的环境下,在左下方有一个"Start"按钮,如同Windows的开始菜单,点开它,在目录"Toolboxes"下有一个"Curve Fitting",点开"Curve Fitting Tool",出现数据拟合工具界面,基本上所有的数据拟合和回归分析都可以在这里进行。也可以在命令窗口中直接输入"cftool",打开工具箱。 2.输入两组向量x,y 首先在Matlab的命令行输入两个向量,一个向量是你要的x坐标的各个数据,另外一个是你要的y坐标的各个数据。输入以后假定

叫x向量与y向量,可以在workspace里面看见这两个向量,要确保这两个向量的元素数一致,如果不一致的话是不能在工具箱里面进行拟合的。 例如在命令行里输入下列数据: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196]; 3.选取数据 打开曲线拟合共工具界面,点击最左边的"Data..."按钮,出现一个Data对话框,在Data Sets页面里,在X Data选项中选取x向量,Y Data选项中选取y向量,如果两个向量的元素数相同,那么Create data set按钮就激活了,此时点击它,生成一个数据组,显示在下方Data Sets列表框中。关闭Data对话框。此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。

Matlab曲线拟合工具箱CFTOOL实例解析

Matlab曲线拟合工具箱CFTOOL实例解析 (2011-04-14 23:53:11) 转载▼ 标签: 分类:Matlab matlab 向量 曲线拟合 函数 cftool 杂谈 整理于https://www.doczj.com/doc/a58190406.html,/viewthread.php?tid=43771&sid=mg9z2z 1.打开CFTOOL工具箱。在Matlab 6.5以上的环境下,在左下方有一个"Start"按钮,如同Windows的开始菜单,点开它,在目录"Toolboxes"下有一个"Curve Fitting",点开"Curve Fitting Tool",出现数据拟合工具界面,基本上所有的数据拟合和回归分析都可以在这里进行。 2.输入两组向量x,y。 首先在Matlab的命令行输入两个向量,一个向量是你要的x坐标的各个数据,另外一个是你要的y坐标的各个数据。输入以后假定叫x向量与y向量,可以在workspace里面看见这两个向量,要确保这两个向量的元素数一致,如果不一致的话是不能在工具箱里面进行拟合的。 例如在命令行里输入下列数据: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196];

3.数据的选取。打开曲线拟合共工具界面,点击最左边的"Data..."按钮,出现一个Data对话框,在Data Sets页面里,在X Data选项中选取x向量,Y Data选项中选取y 向量,如果两个向量的元素数相同,那么Create data set按钮就激活了,此时点击它,生成一个数据组,显示在下方Data Sets列表框中。关闭Data对话框。此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。

使用MATLAB曲线拟合工具箱做曲线拟合(2013)

使用 MATLAB 曲线拟合工具箱做曲线拟合 在实际的工程应用领域和经济应用领域中,人们往往通过实验或者观测得到一些数据, 为了从这些数据中找到其内在的规律性, 也就是求得自变量和因变量之间的近似函数关系表 达式。这类问题可以归结曲线拟合。 1.MATLAB 曲线拟合工具箱简介 MATLAB 做曲线拟合可以通过内建函数或者拟合工具箱(Curve Fitting Toolbox )。这个 工具箱集成了用MATLAB 建立的图形用户界面(GUIs )和 M 文件函数。利用这个工具箱 可以进行参数拟合(当想找出回归系数以及他们背后的物理意义的时候就可以采用参数拟 合),或者通过采用平滑样条或者其他各种插值方法进行参数拟合(当回归系数不具有物理 意义并且不在意他们的时候,就采用非参数拟合)。利用这个界面,可以快速地在简单易用 的环境中实现许多基本的曲线拟合。 2.实际例子应用 数学模型书上关于汽车刹车距离模型,建立的模型如下: 2 1 d t v kv =+ 其中v 是汽车速度, 1 t 是反应时间,按大多数人平均取 0.75 秒,d 是刹车距离。交通部 门提供了一组刹车的距离实际数据如表1 所示(刹车距离括号内为最大值)。 表 1 车速(英尺 秒) 29.3 44 58.7 73.3 88 102.7 1173 刹车距离 (英尺) 42(44) 73.5(78) 116(124) 173(186) 248(268) 343(372) 464(506) 利用表 1 的数据,我们拟合 在 MATLAB 的 command window 里输入: >>v=[29.3 44 58.7 73.3 88 102.7 117.3]? >>d1=[42 73.5 116 173 248 343 464]? >>cftool %cftool 是打开拟合工具箱的命令? 则跳出曲线拟合工具箱的界面如图 1 所示, 如果输入数据非常大, 并且每次输入有困难, 可以新建一个 M 文件,依次输入上述命令行,保存之后执行,同样可以进入曲线拟合工具 箱界面。

相关主题
文本预览
相关文档 最新文档