Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。我的Matlab版本是20016a.
1.在命令行启动cftool工具箱
>>cftool
2.在命令行输入数据
x = [196,186, 137, 136, 122, 123, 71, 72, 70, 33];
y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196];z =[20.3,34.2,12.4,15.6,32.5,12.0,34.3,29.1,23.4,36.2];
3.导入数据
4.功能介绍
- 第一个是“main plot”,画出主要的图
- 第二个是“Residuals plot”,画出残差图
- 第三个是“Contourplot”,画出轮廓图
- 第六个是“Pan”,可用来拖曳坐标轴
- 第七个是“Data cursor”,进行数据提示
- 第八个是“Exclude outliers”,剔除异常值
- 对数据进行中心化与比例化处理,当拟合情况较差时,可以通过该选项得到更好的拟合效果
- Custom Equations:用户自定义的函数类型
- Exponential:指数逼近,有2种类型, aexp(bx) 、 aexp(bx) + cexp(dx)
- Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1cos(xw) + b1sin(xw)
- Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)
- Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving
1. 线性插值
2.最近邻点插值
3.分段三次插值
4.分段三次 Hermite 插值多项式 (PCHIP) - Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
- Power:幂逼近,有2种类型,ax^b 、ax^b + c
- Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree~;此外,分子还包括constant型
- Smoothing Spline:平滑样条
- Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1sin(b1x + c1)
- Weibull:只有一种,