(转载作者请注明出处)
废话不多说,直接上货....
对于使用过matlab做数据处理的人来说,拟合是将平面上一系列的点,用一条光滑的曲线连接起来。因为这条曲线有无数种可能,从而有各种拟合方法。拟合的曲线一般可以用函数表示,根据这个函数的不同有不同的拟合名字。
数据拟合又称曲线拟合,俗称拉曲线,是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合(fitting)。介绍的引用来源:百度
一、安装cftool
cftool(Curve Fitting Toolbox™)工具箱主要是针对数据拟合的。使用起来特别的强大,尤其对于数据的处理超级方便,可以直接对于数据拟合,并且可以预设各种的拟合方案。这里注意的是非线性的也可以进行拟合,例如:幂律,高斯等等。
更详细的功能描述:Curve Fitting Toolbox™提供了用于将曲线和曲面拟合到数据的应用程序和功能。该工具箱可让您执行探索性数据分析,预处理和后处理数据,比较候选模型并删除异常值。您可以使用提供的线性和非线性模型库进行回归分析,也可以指定自己的自定义方程式。该库提供了优化的求解器参数和起始条件,以提高拟合质量。该工具箱还支持非参数建模技术,例如样条,插值和平滑。创建拟合后,您可以应用各种后处理方法进行绘图,内插和外推。估计置信区间;并计算积分和导数。
主要在matlab附加资源管理器:
二、验证是否安装成功
三、实列操作(拟合以y=sin(x)+1为例)
可以与函数进行拟合或者直接两数据进行拟合,前提要分清谁是因变量和自变量。(按个人需求)首先输入以下代码:
>> x=1:100;
>> plot(x,y)
>> y=sin(x)+1;
>> plot(x,y)
接着我们在命令窗口输入:cftool,然后选择拟合的数据,当然我们这里拟合的是二维数据。只需要输入2个数据源。
在获取的拟合左下角就是我们想要的值,即p1和p2(直线拟合)
Linear model Poly1:
f(x) = p1*x + p2
Coefficients (with 95% confidence bounds):
p1 = -0.001181 (-0.006099, 0.003737)
p2 = 1.058 (0.7723, 1.344)
Goodness of fit:
SSE: 50.15
R-square: 0.00231
Adjusted R-square: -0.00787
RMSE: 0.7154
然后选择拟合的函数类型,可以选择线性,高斯,幂律,等常见的函数类型。此时的数据拟合结果也会在左侧显示。如下面的拟合效果还不错:
数据拟合的目的:之所以对实验数据进行拟合是为了得到符合数据的函数关系(你可以简单理解为构造函数解析式),从而能更好地理解数据背后的数学、物理意义。进而对实验的各个参数有更深入的理解,能分析出各个参数对实验结果的影响。
参考文献
https://www.jianshu.com/p/dd3c74515aa2https://www.cnblogs.com/tensory/p/6590779.htmlhttps://jingyan.baidu.com/article/6f2f55a16aba04b5b93e6cca.html
你可能喜欢的文章
数据分析开篇:一个简单的应用(2019/11/04)
2020年数据分析必知必会(一):NumPy数组
2020年数据分析必知必会(二):NumPy摘要----文章末尾附Python
2020年数据分析必知必会(三):数组的形状和属性(有福利赠予)
数据分析必知必必会(四):数组的转换,视图,拷贝,索引和广播(这里的“广播”是一个数组的应用:数据处理旧手机铃声)
2020年数据分析必知必会(五):统计和线性代数(使用Numpy与Scipy实现)
2020年数据分析必知必会(六):离散式复制的创建(以北京最近的猪肉价格为例子)
2020年数据分析必知必会(七):pandas入门与数据结构基础
2020年数据分析必知必会(八):使用pandas查询数据和统计分析的应用(短小但强大)
2020年数据分析必知必会(九):数据的分组与聚合