matlabR2012a中如何进行数据拟合?
2019-09-11

方法一、用数据拟合工具箱 Curve Fitting Tool

打开CFTOOL工具箱。在matlab的command window中输入cftool,即可进入数据拟合工具箱。

输入两组向量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];

数据的选取。打开曲线拟合共工具界面,点击最左边的X data和Y data,选择刚才输入的数据,这时界面中会出现这组数据的散点图。

选择拟合方法,点击Fit

左侧results为拟合结果,下方表格为误差等统计数据。

方法二、用神经网络工具箱

1、打开神经网络工具箱,在command window内输入nftool,进入Neural fitting tool

2、导入数据,点击next,导入Inputs为x,Targets为y。

3、选择网络参数,点击next,选择训练集和测试集数量,点next,选隐藏层节点个数。

4、训练数据,点next,选train。

5、绘制拟合曲线,训练完成后电机plot fit

训练结果参数在训练完后自动弹出

神经网络工具箱可以用command写,请搜索关键字matlab 神经网络工具箱函数。

方法三、用polyfit函数写

polyfit函数是matlab中用于进行曲线拟合的一个函数。其数学基础是最小二乘法曲线拟合原理。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。

调用方法:a=polyfit(xdata,ydata,n),

其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入。输出参数a为拟合多项式 y=a1x^n+...+anx+a,共n+1个系数。

%例程A=polyfit(x,y,2);z=polyval(A,x);plot(x,y,'r*',x,z,'b')

方法四、自行写算法做拟合

请参考数值分析教科书,拟合、插值方法较多,算法并不复杂,灵活套用循环即可

大家都在看
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!本站文章版权归原作者所有,内容为作者个人观点。本站只提供参考并不构成任何投资及应用建议。本站拥有对此声明的最终解释权。