启动方法:
命令行窗口输入cftool
拟合数据
示例 1
假设我们要拟合的函数形式是 y=Ax^2 + Bx, 且 A>0, B>0。
数据:
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];
进入曲线拟合工具箱界面“Curve Fitting tool”:
1)利用 X data 和 Y data 的下拉菜单读入数据 x,y,这时会自动画出数据集的曲线图,注意右侧的 Auto fit 选项;
2)通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有:
-
Custom Equations:用户自定义的函数类型
-
Exponential:指数逼近,有 2 种类型,、
-
Fourier:傅立叶逼近,有 7 种类型,基础型是
-
Gaussian:高斯逼近,有 8 种类型,基础型是
-
Interpolant:插值逼近,有 4 种类型,linear、nearest neighbor、cubic spline、shape-preserving
-
Polynomial:多形式逼近,有 9 种类型,linear polynomial、quadratic polynomial、cubic polynomial 以及 4-9th degree polynomial
-
Power:幂逼近,有 2 种类型,、
-
Rational:有理数逼近,分子(Numerator)、分母(Denominator)共有的类型是 linear rational、quadratic rational、cubic rational、4-5th degree rational;此外,分子(Numerator)还包括 constant 型
-
Smoothing Spline:平滑样条逼近
-
Sum of Sin Functions:正弦曲线逼近,有 8 种类型,基础型是
-
Weibull:只有一种,
3)选择好所需的拟合曲线类型及其子类型,并进行相关设置:
- 如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改待估计参数的上下限等参数;
- 如果选 Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear Equations 线性等式”和“General
Equations 构造等式”两种标签。
在本例中选 Custom Equations,点击“New”按钮,选择“General Equations” 标签,输入函数类型 ,设置参数 a、b 的上下限(注意这里我们假设规定 a>0, b>0,实际不一定如此!),然后点击 OK。
4)类型设置完成后,点击“Apply”按钮,就可以在 Results 框中得到拟合结果如下:
Results中的结果显示拟合模型、参数以及拟合效果:
- SSE:拟合误差平方和,接近0,表示与数据拟合的好,但是要小心过拟合;
- R-Square:实测数据与推理数据之间的相关系数平方值,趋近于1较好;
- RMSE:均方差
- #Coeff:模型的系数数量(非自定义模型时出现),相近拟合效果选择数量少的,防止过拟合。
如果觉得拟合效果不好,可以重新选择设置进行拟合。这样,就完成一次曲线拟合。
示例 2
使用拟合曲线的类型为 3 次多项式拟合。
在本例中先选“polynomial”,再选择Degree 3,然后点击OK。类型设置完成后,点击“Apply”按钮,就可以在 Results 框中得到拟合结果如下:
作为比较,我们使用 polyfit 函数编程:
>> format long
>> A = polyfit(x, y, 3);
>> format short
>> z = polyval(A, x);
>> plot(x, y, 'bd', x, z, 'r');
结果:
A为模型参数,与cftool结果一致
References:
http://math.ecnu.edu.cn/~fywan/teaching/common_model2015/model/model06_CFtool.pdf
来源:CSDN
作者:qq_43585318
链接:https://blog.csdn.net/qq_43585318/article/details/104145687