Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合,下面简单介绍如何使用这个工具箱。
先给定两个变量:
x = [1,2,3,4,5,6,7,...] ;%输入自变量
y = [1,2,3,4,5,6,7,.....];%输入因变量
启动工具箱:
输入 cftool命令,会出现这个图:
选择x变量和y变量:
选择你要拟合的函数类型:
工具箱提供的拟合函数类型有:
-
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
-
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:只有一种,abx(b-1)*exp(-a*xb)