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)