Ⅰ 怎样用matlab拟合一组符合高斯分布的数据,得出完整的高斯函数表达式。
使用matlab中的拟合工具箱吧,很简单的。
在command
windows下输入cftool进入拟合工具箱,Data中输入你的数据,然后使用Fitting进行拟合,里面可以选择Gaussian,这样可以得出完整的高斯函数表达式。
Ⅱ 用matlab曲线拟合工具箱拟合数据后要进行预测,应该怎么做啊哪位大神
不是matlab安装的问题,这个问题我也遇到过,遍求解答无果之后,终于自己摸索出来了。是这样的,不要用gui中的data按钮来新建数据集,而要在matlab命令窗口中,输入命令:cftool(a,b),其中a,b就是你要设置的x、y坐标的向量。这样出来散点图,之后再在cftool工具箱的gui中点fitting按钮,选择曲线拟合
Ⅲ matlab分布函数拟合
频率直方图我没太用过 但是其他形式的曲线 比如控制领域的时域图用一下方法是可以实现的。
首先:想办法读出样本点,x=(),y=() (在7.0里用小括号就可以了,不同版本可以自行改一下)
之后可参见如下方法,我也是转载ilove.MATLAB论坛上的方法 用过很好用
转载:“在Matlab 6.5以上的环境下,在左下方有一个"Start"按钮,如同Windows的开始菜单,点开它,在目录"Toolboxes"下有一个"Curve Fitting",点开"Curve Fitting Tool",出现数据拟合工具界面,基本上所有的数据拟合和回归分析都可以在这里进行。
下面给你简单介绍一下它的使用方法。
首先在Matlab的命令行输入两个向量,一个向量是你要的x坐标的各个数据,另外一个是你要的y坐标的各个数据。输入以后假定叫x向量与y向量,可以在workspace里面看见这两个向量,要确保这两个向量的元素数一致,如果不一致的话是不能在工具箱里面进行拟合的。
例如在命令行里输入下列数据:
x=(0:0.02:0.98)';
y=sin(4*pi*x+rand(size(x)));
此时x-y之间的函数近似的为正弦关系,频率为2,但是存在一个误差项。
可以通过作图看出它们的大体分布:
plot(x,y,'*','markersize',2);
打开曲线拟合共工具界面,点击最左边的"Data..."按钮,出现一个Data对话框,在Data Sets页面里,在X Data选项中选取x向量,Y Data选项中选取y向量,如果两个向量的元素数相同,那么Create data set按钮就激活了,此时点击它,生成一个数据组,显示在下方Data Sets列表框中。关闭Data对话框。此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。
点击Fitting...按钮,出现Fitting对话框,Fitting对话框分为两部分,上面为Fit Editor,下面为Table of Fits,有时候窗口界面比较小,Fit Editor部分会被收起来,只要把Table of Fits上方的横条往下拉就可以看见Fit Editor。在Fit Editor里面点击New Fit按钮,此时其下方的各个选框被激活,在Data Set选框中选中刚才建立的x-y数据组,然后在Type of fit选框中选取拟合或回归类型,各个类型的拟合或回归相应的分别是:
Custom Equations 用户自定义函数
Expotential e指数函数
Fourier 傅立叶函数,含有三角函数
Gaussian 正态分布函数,高斯函数
Interpolant 插值函数,含有线性函数,移动平均等类型的拟合
Polynomial 多项式函数
Power 幂函数
Rational 有理函数(不太清楚,没有怎么用过)
Smooth Spline ??(光滑插值或者光滑拟合,不太清楚)
Sum of sin functions正弦函数类
Weibull 威布尔函数(没用过)
不好意思,没有学过数理统计,所以很多东西都是用了才知道,翻译也就不太准确。不过在Type of fit选框下方有一个列表框,基本上各个函数类里的函数都写成解析式列在下方以供选择,所以找合适的函数还是比较容易的。
在这个Type of fit选框中选择好合适的类型,并选好合适的函数形式。于是点击Apply按钮,就开始进行拟合或者回归了。此时在Curve Fitting Tool窗口上就会出现一个拟合的曲线。这就是所要的结果。
在上面的例子中,选择sum of sin functions中的第一个函数形式,点击Apply按钮,就可以看见拟合得到的正弦曲线。
在Fitting对话框中的Results文本框中显示有此次拟合的主要统计信息,主要有
General model of sin1:
....... (函数形式)
Coefficients (with 95% conffidence range) (95%致信区间内的拟合常数)
a1=... ( ... ...) (等号后面是平均值,括号里是范围)
....
Godness of fit: (统计结果)
SSE: ... (方差)
R-squared: ... (决定系数,不知道做什么的)
Adjusted R-squared: ... (校正后的决定系数,如何校正的不得而知)
RMSE: ... (标准差)
上面的例子中经过拟合得到的函数最后为
y=0.9354*sin(12.36x+6.886)
频率为1.98加减0.03,和原来设置的频率为2符合,相对误差为1.5%。
这是曲线拟合工具箱的一个最简单的使用方法,上面还有很多功能,写是写不完的,自己参照这个基本的思路,翻着英汉词典,看着帮助,然后一个按钮一个按钮的试吧。
另外要说的是,如果想把这个拟合的图像导出的话,在Curve Fitting Tool窗口的File菜单下选Print to Figure,此时弹出一个新的图像窗口,里面是你要导出的图像,在这个figure窗口的File菜单里再选Export,选择好合适的格式,一般是jpeg,选择好路径,点击OK就可以了。出来的图像可以在Word等编辑环境中使用,就不多说了。
要修改图像的性质,如数据点的大小、颜色等等的,只需要在对象上点右键,就差不多可以找到了。”
上面所说的X,Y向量就是样本点。
下面是转载的网址,希望有用处http://www.ilovematlab.cn/viewthread.php?tid=28854&extra=&page=1
ilovematlab是个不错的论坛,我也是刚发现,不过帮助很大,基本的问题在那都会有答案。
Ⅳ matlab曲线拟合工具箱怎么用
不是matlab安装的问题来,这个问源题我也遇到过,遍求解答无果之后,终于自己摸索出来了。是这样的,不要用GUI中的data按钮来新建数据集,而要在matlab命令窗口中,输入命令:cftool(a,b),其中a,b就是你要设置的x、y坐标的向量。这样出来散点图,之后再在cftool工具箱的GUI中点fitting按钮,选择曲线拟合
Ⅳ matlab 利用理论分布模式进行拟合,找出拟合效果最佳的分布;
利用cftool工具箱,得到
General model Fourier6: (傅里叶函数)
f(x) =
a0 + a1*cos(x*w) + b1*sin(x*w) +
a2*cos(2*x*w) + b2*sin(2*x*w) + a3*cos(3*x*w) + b3*sin(3*x*w) +
a4*cos(4*x*w) + b4*sin(4*x*w) + a5*cos(5*x*w) + b5*sin(5*x*w) +
a6*cos(6*x*w) + b6*sin(6*x*w)
where x is normalized by mean 0.5 and std 0.2847
Coefficients (with 95% confidence bounds):
a0 = -2.698e+007 (-3.021e+009, 2.967e+009)
a1 = 4.662e+007 (-5.122e+009, 5.215e+009)
b1 = 4.561e+006 (-4.421e+008, 4.512e+008)
a2 = -2.986e+007 (-3.326e+009, 3.267e+009)
b2 = -5.807e+006 (-5.726e+008, 5.61e+008)
a3 = 1.382e+007 (-1.502e+009, 1.529e+009)
b3 = 3.992e+006 (-3.835e+008, 3.915e+008)
a4 = -4.391e+006 (-4.811e+008, 4.723e+008)
b4 = -1.668e+006 (-1.622e+008, 1.589e+008)
a5 = 8.593e+005 (-9.125e+007, 9.297e+007)
b5 = 4.007e+005 (-3.779e+007, 3.859e+007)
a6 = -7.836e+004 (-8.345e+006, 8.188e+006)
b6 = -4.291e+004 (-4.08e+006, 3.994e+006)
w = 0.3152 (-2.466, 3.096)
Goodness of fit:
SSE: 0.03637
R-square: 0.9956
Adjusted R-square: 0.993
RMSE: 0.04066
拟合曲线
Ⅵ 如何使用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窗口中显示出这一数据组的散点分布图。
4.曲线拟合(幂函数power)。
点击Fitting...按钮,出现Fitting对话框,Fitting对话框分为两部分,上面为Fit Editor,下面为Table of Fits,有时候窗口界面比较小,Fit Editor部分会被收起来,只要把Table of Fits上方的横条往下拉就可以看见Fit Editor。在Fit Editor里面点击New Fit按钮,此时其下方的各个选框被激活,在Data Set选框中选中刚才建立的x-y数据组,然后在Type of fit选框中选取拟合或回归类型,各个类型的拟合或回归相应的分别是: Custom Equations 用户自定义函数 Expotential e指数函数 Fourier 傅立叶函数,含有三角函数 Gaussian 正态分布函数,高斯函数 Interpolant 插值函数,含有线性函数,移动平均等类型的拟合 Polynomial 多项式函数 Power 幂函数 Rational 有理函数(不太清楚,没有怎么用过) Smooth Spline (光滑插值或者光滑拟合,不太清楚) Sum of sin functions正弦函数类
在这个Type of fit选框中选择好合适的类型,并选好合适的函数形式。于是点击Apply按钮,就开始进行拟合或者回归了。此时在Curve Fitting Tool窗口上就会出现一个拟合的曲线。这就是所要的结果。 在上面的例子中,选择sum of sin functions中的第一个函数形式,点击Apply按钮,就可以看见拟合得到的正弦曲线。
Ⅶ matlab2014曲线拟合工具箱怎么输入数据
您好,这样的:一、 单一变量的曲线逼近
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框中得到拟合结果,如下例:
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拟合工具箱拟合二项分布和泊松分布
可以用nlinfit()或lsqcurvefit()等函数来拟合。用拟合工具箱是做不到的,因工具箱内没有此函数。
Ⅸ matlab曲线拟合工具箱怎么导出图像
把数据导出来,然后在matlab中自己画图。或者就是把拟合结果的公式带入,然后自己编程画图。最后不行就拷屏!
Ⅹ 如何利用matalb cftool工具箱拟合曲线
如何利用matalb 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”选择拟合曲线的类型,工具箱提供的拟合类