MATLAB中如何直接曲线拟合

MATLAB中如何直接曲线拟合,而不使用cftool的GUI界面

(这里使用的版本是MATLAB 2009a)

我们知道在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),然后就会出现如下拟合图形:

MATLAB中如何直接曲线拟合

相关推荐
相关主题
热门推荐