matlab拟合工具箱的使用

利用matlab的拟合功能,将分散的点进行拟合回归
工具/原料
matlab
方法/步骤
1:1.打开cftool工具箱。
在matla6.5以上的环境下,在左下方有一个"start"按钮,如同windows的开始菜单,点开它,在目录"toolboxes"下有一个"curve fitting",点开"curve fitting tool",出现数据拟合工具界面,基本上所有的数据拟合和回归分析都可以在这里进行。也可以在命令窗口中直接输入”cftool”,打开工具箱。

2:2.输入两组向量x,y。
首先在matlab的命令行输入两个向量,一个向量是你要的x坐标的各个数据,另外一个是你要的y坐标的各个数据。输入以后假定叫x向量与y向量,可以在workspace里面看见这两个向量,要确保这两个向量的元素数一致,如果不一致的话是不能在工具箱里面进行拟合的。 例如在命令行里输入下列数据: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196];

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



4: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 equation用户自定义函数 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按钮,就可以看见拟合得到的正弦曲线。


5:5.拟合后的结果信息。在fitting对话框中的results文本框中显示有此次拟合的主要统计信息,主要有 general model of sin1(函数形式) coefficient(with 95% conffidence range) (95%致信区间内的拟合常数) a1=... ( ... ...) (等号后面是平均值,括号里是范围 godnesof fit: (统计结果) sse: ... (方差) r-squared: ... (决定系数) adjusted r-squared: (校正后的决定系数,如何校正的不得而知) rmse: (标准差) 上面的例子中经过拟合得到的函数最后为 y=3.133*x^(-1.007)-0.004233

6:6.拟合分析(analysis)。


7:7.图片导出。
另外要说的是,如果想把这个拟合的图像导出的话,在curve fitting tool窗口的file菜单下选print to figure,此时弹出一个新的图像窗口,里面是你要导出的图像,在这个figure窗口的file菜单里再选export,选择好合适的格式,一般是jpeg,选择好路径,点击ok就可以了。出来的图像可以在word等编辑环境中使用,就不多说了。 要修改图像的性质,如数据点的大小、颜色等等的,只需要在对象上点右键,就差不多可以找到了。
另外使用程序来进行曲线拟合:
p=polyfit(xdata,ydata,n) n为选取的方法
a=polyval(p,xdata) 进行曲线拟合后计算所得到得值
可以将拟合曲线与源曲线画出来:
plot(xdata,ydata,'b*',xdata,a,'r-')
legend('ydata','fit');
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。举报
希望本文【matlab拟合工具箱】matlab拟合工具箱的使用能帮到你。