
MATLAB曲线拟合工具箱-curve fitting tool
在Matlab中有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。
能够帮助大家在一大堆数据中找到数据之间的关系。下面结合 Matlab R2020a 来简单介绍如何使用这个工具箱。
一、打开curve fitting tool
点击matlab上方的app入口、展开、找到数学统计和优化,里面中curve fitting就是我们本次要介绍的软件工具箱,如果没有的,可以前往官网下载补偿(这个部分教程就不做了,网上有很多)。
二、分析curve fitting中各个位置的作用。
1.fit name:分析名称命名,就是给你分析的曲线取名字。
2.X data:X轴数据。
3.Y data:Y轴数据。
4.Z data:Z轴数据。(这里插一句,curve fitting是可以分析多维数据的,所以比我们想象中要强大的多)
5.Weights:Weights选项用于设置权重。权重是用于调整数据点对拟合结果影响程度的数值。通过选择不同的权重,可以对不同的数据点赋予不同的重要性,从而影响拟合曲线的形状和精度。这个看个人需求,一般的数据分析都不需要,只有那些严格数据才会注重权重。
6.选择相应的数据曲线函数分析方法:
- Custom Equations:用户自定义的函数类型
- Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)
- Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)
- Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)
- Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving
- Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
- Power:幂逼近,有2种类型,a*x^b 、a*x^b + c
- Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子还包括constant型
- Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)
- Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)
- Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)
7.Results:这里可以查看分析的曲线函数结果。
8.select data to ...surfaces:在这里就是图示话函数曲线结果。
9.最低下的格子就是拟合的概况。
10.auto fit:自动生成,勾选上之后就不用自己点击开始,会自动根据你改的数据进行分析。
三、数据分析
1.举个栗子
首先在命令行中输入两组数据
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];
2.打开工具箱
命名,选择x、y的数据,选择对应函数分析方法就出现了如下
3.多种方法对比
点击菜单栏的Fit
,在弹窗中选择New Fit
,就可以进行新的拟合,重复前面的步骤进行拟合即可,然后根据最底下的拟合概况进行对比。
4.生成代码或图像
点击File
,然后点击Generate Code可生成代码,点击Print to Figure可以调用制图工具来将拟合结果进行修改标记等。
5.保存到工作区
点击File
,然后点击Save to Workspace即可保存到工作区便于后续使用。
更多推荐



所有评论(0)