Ⅰ 怎樣用matlab擬合一組符合高斯分布的數據,得出完整的高斯函數表達式。
使用matlab中的擬合工具箱吧,很簡單的。
在command
windows下輸入cftool進入擬合工具箱,Data中輸入你的數據,然後使用Fitting進行擬合,裡面可以選擇Gaussian,這樣可以得出完整的高斯函數表達式。
Ⅱ 用matlab曲線擬合工具箱擬合數據後要進行預測,應該怎麼做啊哪位大神
不是matlab安裝的問題,這個問題我也遇到過,遍求解答無果之後,終於自己摸索出來了。是這樣的,不要用gui中的data按鈕來新建數據集,而要在matlab命令窗口中,輸入命令:cftool(a,b),其中a,b就是你要設置的x、y坐標的向量。這樣出來散點圖,之後再在cftool工具箱的gui中點fitting按鈕,選擇曲線擬合
Ⅲ matlab分布函數擬合
頻率直方圖我沒太用過 但是其他形式的曲線 比如控制領域的時域圖用一下方法是可以實現的。
首先:想辦法讀出樣本點,x=(),y=() (在7.0里用小括弧就可以了,不同版本可以自行改一下)
之後可參見如下方法,我也是轉載ilove.MATLAB論壇上的方法 用過很好用
轉載:「在Matlab 6.5以上的環境下,在左下方有一個"Start"按鈕,如同Windows的開始菜單,點開它,在目錄"Toolboxes"下有一個"Curve Fitting",點開"Curve Fitting Tool",出現數據擬合工具界面,基本上所有的數據擬合和回歸分析都可以在這里進行。
下面給你簡單介紹一下它的使用方法。
首先在Matlab的命令行輸入兩個向量,一個向量是你要的x坐標的各個數據,另外一個是你要的y坐標的各個數據。輸入以後假定叫x向量與y向量,可以在workspace裡面看見這兩個向量,要確保這兩個向量的元素數一致,如果不一致的話是不能在工具箱裡面進行擬合的。
例如在命令行里輸入下列數據:
x=(0:0.02:0.98)';
y=sin(4*pi*x+rand(size(x)));
此時x-y之間的函數近似的為正弦關系,頻率為2,但是存在一個誤差項。
可以通過作圖看出它們的大體分布:
plot(x,y,'*','markersize',2);
打開曲線擬合共工具界面,點擊最左邊的"Data..."按鈕,出現一個Data對話框,在Data Sets頁面里,在X Data選項中選取x向量,Y Data選項中選取y向量,如果兩個向量的元素數相同,那麼Create data set按鈕就激活了,此時點擊它,生成一個數據組,顯示在下方Data Sets列表框中。關閉Data對話框。此時Curve Fitting Tool窗口中顯示出這一數據組的散點分布圖。
點擊Fitting...按鈕,出現Fitting對話框,Fitting對話框分為兩部分,上面為Fit Editor,下面為Table of Fits,有時候窗口界面比較小,Fit Editor部分會被收起來,只要把Table of Fits上方的橫條往下拉就可以看見Fit Editor。在Fit Editor裡面點擊New Fit按鈕,此時其下方的各個選框被激活,在Data Set選框中選中剛才建立的x-y數據組,然後在Type of fit選框中選取擬合或回歸類型,各個類型的擬合或回歸相應的分別是:
Custom Equations 用戶自定義函數
Expotential e指數函數
Fourier 傅立葉函數,含有三角函數
Gaussian 正態分布函數,高斯函數
Interpolant 插值函數,含有線性函數,移動平均等類型的擬合
Polynomial 多項式函數
Power 冪函數
Rational 有理函數(不太清楚,沒有怎麼用過)
Smooth Spline ??(光滑插值或者光滑擬合,不太清楚)
Sum of sin functions正弦函數類
Weibull 威布爾函數(沒用過)
不好意思,沒有學過數理統計,所以很多東西都是用了才知道,翻譯也就不太准確。不過在Type of fit選框下方有一個列表框,基本上各個函數類里的函數都寫成解析式列在下方以供選擇,所以找合適的函數還是比較容易的。
在這個Type of fit選框中選擇好合適的類型,並選好合適的函數形式。於是點擊Apply按鈕,就開始進行擬合或者回歸了。此時在Curve Fitting Tool窗口上就會出現一個擬合的曲線。這就是所要的結果。
在上面的例子中,選擇sum of sin functions中的第一個函數形式,點擊Apply按鈕,就可以看見擬合得到的正弦曲線。
在Fitting對話框中的Results文本框中顯示有此次擬合的主要統計信息,主要有
General model of sin1:
....... (函數形式)
Coefficients (with 95% conffidence range) (95%致信區間內的擬合常數)
a1=... ( ... ...) (等號後面是平均值,括弧里是范圍)
....
Godness of fit: (統計結果)
SSE: ... (方差)
R-squared: ... (決定系數,不知道做什麼的)
Adjusted R-squared: ... (校正後的決定系數,如何校正的不得而知)
RMSE: ... (標准差)
上面的例子中經過擬合得到的函數最後為
y=0.9354*sin(12.36x+6.886)
頻率為1.98加減0.03,和原來設置的頻率為2符合,相對誤差為1.5%。
這是曲線擬合工具箱的一個最簡單的使用方法,上面還有很多功能,寫是寫不完的,自己參照這個基本的思路,翻著英漢詞典,看著幫助,然後一個按鈕一個按鈕的試吧。
另外要說的是,如果想把這個擬合的圖像導出的話,在Curve Fitting Tool窗口的File菜單下選Print to Figure,此時彈出一個新的圖像窗口,裡面是你要導出的圖像,在這個figure窗口的File菜單里再選Export,選擇好合適的格式,一般是jpeg,選擇好路徑,點擊OK就可以了。出來的圖像可以在Word等編輯環境中使用,就不多說了。
要修改圖像的性質,如數據點的大小、顏色等等的,只需要在對象上點右鍵,就差不多可以找到了。」
上面所說的X,Y向量就是樣本點。
下面是轉載的網址,希望有用處http://www.ilovematlab.cn/viewthread.php?tid=28854&extra=&page=1
ilovematlab是個不錯的論壇,我也是剛發現,不過幫助很大,基本的問題在那都會有答案。
Ⅳ matlab曲線擬合工具箱怎麼用
不是matlab安裝的問題來,這個問源題我也遇到過,遍求解答無果之後,終於自己摸索出來了。是這樣的,不要用GUI中的data按鈕來新建數據集,而要在matlab命令窗口中,輸入命令:cftool(a,b),其中a,b就是你要設置的x、y坐標的向量。這樣出來散點圖,之後再在cftool工具箱的GUI中點fitting按鈕,選擇曲線擬合
Ⅳ matlab 利用理論分布模式進行擬合,找出擬合效果最佳的分布;
利用cftool工具箱,得到
General model Fourier6: (傅里葉函數)
f(x) =
a0 + a1*cos(x*w) + b1*sin(x*w) +
a2*cos(2*x*w) + b2*sin(2*x*w) + a3*cos(3*x*w) + b3*sin(3*x*w) +
a4*cos(4*x*w) + b4*sin(4*x*w) + a5*cos(5*x*w) + b5*sin(5*x*w) +
a6*cos(6*x*w) + b6*sin(6*x*w)
where x is normalized by mean 0.5 and std 0.2847
Coefficients (with 95% confidence bounds):
a0 = -2.698e+007 (-3.021e+009, 2.967e+009)
a1 = 4.662e+007 (-5.122e+009, 5.215e+009)
b1 = 4.561e+006 (-4.421e+008, 4.512e+008)
a2 = -2.986e+007 (-3.326e+009, 3.267e+009)
b2 = -5.807e+006 (-5.726e+008, 5.61e+008)
a3 = 1.382e+007 (-1.502e+009, 1.529e+009)
b3 = 3.992e+006 (-3.835e+008, 3.915e+008)
a4 = -4.391e+006 (-4.811e+008, 4.723e+008)
b4 = -1.668e+006 (-1.622e+008, 1.589e+008)
a5 = 8.593e+005 (-9.125e+007, 9.297e+007)
b5 = 4.007e+005 (-3.779e+007, 3.859e+007)
a6 = -7.836e+004 (-8.345e+006, 8.188e+006)
b6 = -4.291e+004 (-4.08e+006, 3.994e+006)
w = 0.3152 (-2.466, 3.096)
Goodness of fit:
SSE: 0.03637
R-square: 0.9956
Adjusted R-square: 0.993
RMSE: 0.04066
擬合曲線
Ⅵ 如何使用matlab擬合工具箱
1.打開CFTOOL工具箱。
在Matlab 6.5以上的環境下,在左下方有一個"Start"按鈕,如同Windows的開始菜單,點開它,在目錄"Toolboxes"下有一個"Curve Fitting",點開"Curve Fitting Tool",出現數據擬合工具界面,基本上所有的數據擬合和回歸分析都可以在這里進行。也可以在命令窗口中直接輸入」cftool」,打開工具箱。
2.輸入兩組向量x,y。
首先在Matlab的命令行輸入兩個向量,一個向量是你要的x坐標的各個數據,另外一個是你要的y坐標的各個數據。輸入以後假定叫x向量與y向量,可以在workspace裡面看見這兩個向量,要確保這兩個向量的元素數一致,如果不一致的話是不能在工具箱裡面進行擬合的。 例如在命令行里輸入下列數據: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196];
3.數據的選取。
打開曲線擬合共工具界面,點擊最左邊的"Data..."按鈕,出現一個Data對話框,在Data Sets頁面里,在X Data選項中選取x向量,Y Data選項中選取y向量,如果兩個向量的元素數相同,那麼Create data set按鈕就激活了,此時點擊它,生成一個數據組,顯示在下方Data Sets列表框中。關閉Data對話框。此時Curve Fitting Tool窗口中顯示出這一數據組的散點分布圖。
4.曲線擬合(冪函數power)。
點擊Fitting...按鈕,出現Fitting對話框,Fitting對話框分為兩部分,上面為Fit Editor,下面為Table of Fits,有時候窗口界面比較小,Fit Editor部分會被收起來,只要把Table of Fits上方的橫條往下拉就可以看見Fit Editor。在Fit Editor裡面點擊New Fit按鈕,此時其下方的各個選框被激活,在Data Set選框中選中剛才建立的x-y數據組,然後在Type of fit選框中選取擬合或回歸類型,各個類型的擬合或回歸相應的分別是: Custom Equations 用戶自定義函數 Expotential e指數函數 Fourier 傅立葉函數,含有三角函數 Gaussian 正態分布函數,高斯函數 Interpolant 插值函數,含有線性函數,移動平均等類型的擬合 Polynomial 多項式函數 Power 冪函數 Rational 有理函數(不太清楚,沒有怎麼用過) Smooth Spline (光滑插值或者光滑擬合,不太清楚) Sum of sin functions正弦函數類
在這個Type of fit選框中選擇好合適的類型,並選好合適的函數形式。於是點擊Apply按鈕,就開始進行擬合或者回歸了。此時在Curve Fitting Tool窗口上就會出現一個擬合的曲線。這就是所要的結果。 在上面的例子中,選擇sum of sin functions中的第一個函數形式,點擊Apply按鈕,就可以看見擬合得到的正弦曲線。
Ⅶ matlab2014曲線擬合工具箱怎麼輸入數據
您好,這樣的:一、 單一變數的曲線逼近
Matlab有一個功能強大的曲線擬合工具箱 cftool ,使用方便,能實現多種類型的線性、非線
性曲線擬合。下面結合我使用的 Matlab R2007b 來簡單介紹如何使用這個工具箱。
假設我們要擬合的函數形式是 y=A*x*x + B*x, 且A>0,B>0 。
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、啟動曲線擬合工具箱
》cftool
3、進入曲線擬合工具箱界面「Curve Fitting tool」
(1)點擊「Data」按鈕,彈出「Data」窗口;
(2)利用X data和Y data的下拉菜單讀入數據x,y,可修改數據集名「Data set name」,然
後點擊「Create data set」按鈕,退出「Data」窗口,返回工具箱界面,這時會自動畫出數
據集的曲線圖;
(3)點擊「Fitting」按鈕,彈出「Fitting」窗口;
(4)點擊「New fit」按鈕,可修改擬合項目名稱「Fit name」,通過「Data set」下拉菜單
選擇數據集,然後通過下拉菜單「Type of fit」選擇擬合曲線的類型,工具箱提供的擬合類
型有:
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)
選擇好所需的擬合曲線類型及其子類型,並進行相關設置:
——如果是非自定義的類型,根據實際需要點擊「Fit options」按鈕,設置擬合演算法、修改
待估計參數的上下限等參數;
——如果選Custom Equations,點擊「New」按鈕,彈出自定義函數等式窗口,有「Linear
Equations線性等式」和「General Equations構造等式」兩種標簽。
在本例中選Custom Equations,點擊「New」按鈕,選擇「General Equations」標簽,輸入函
數類型y=a*x*x + b*x,設置參數a、b的上下限,然後點擊OK。
(5)類型設置完成後,點擊「Apply」按鈕,就可以在Results框中得到擬合結果,如下例:
general model:
f(x) = a*x*x+b*x
Coefficients (with 95% confidence bounds):
a = 0.009194 (0.009019, 0.00937)
b = 1.78e-011 (fixed at bound)
Goodness of fit:
SSE: 6.146
R-square: 0.997
Adjusted R-square: 0.997
RMSE: 0.8263
同時,也會在工具箱窗口中顯示擬合曲線。
這樣,就完成一次曲線擬合啦,十分方便快捷。當然,如果你覺得擬合效果不好,還可以在「
Fitting」窗口點擊「New fit」按鈕,按照步驟(4)~(5)進行一次新的擬合。
不過,需要注意的是,cftool 工具箱只能進行單個變數的曲線擬合,即待擬合的公式中,變
量只能有一個。對於混合型的曲線,例如 y = a*x + b/x ,工具箱的擬合效果並不好。下一
篇文章我介紹幫同學做的一個非線性函數的曲線擬合。
Ⅷ 求助,如何用matlab擬合工具箱擬合二項分布和泊松分布
可以用nlinfit()或lsqcurvefit()等函數來擬合。用擬合工具箱是做不到的,因工具箱內沒有此函數。
Ⅸ matlab曲線擬合工具箱怎麼導出圖像
把數據導出來,然後在matlab中自己畫圖。或者就是把擬合結果的公式帶入,然後自己編程畫圖。最後不行就拷屏!
Ⅹ 如何利用matalb cftool工具箱擬合曲線
如何利用matalb cftool工具箱擬合曲線
您好,這樣的:一、 單一變數的曲線逼近
Matlab有一個功能強大的曲線擬合工具箱 cftool ,使用方便,能實現多種類型的線性、非線
性曲線擬合。下面結合我使用的 Matlab R2007b 來簡單介紹如何使用這個工具箱。
假設我們要擬合的函數形式是 y=A*x*x + B*x, 且A>0,B>0 。
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、啟動曲線擬合工具箱
》cftool
3、進入曲線擬合工具箱界面「Curve Fitting tool」
(1)點擊「Data」按鈕,彈出「Data」窗口;
(2)利用X data和Y data的下拉菜單讀入數據x,y,可修改數據集名「Data set name」,然
後點擊「Create data set」按鈕,退出「Data」窗口,返回工具箱界面,這時會自動畫出數
據集的曲線圖;
(3)點擊「Fitting」按鈕,彈出「Fitting」窗口;
(4)點擊「New fit」按鈕,可修改擬合項目名稱「Fit name」,通過「Data set」下拉菜單
選擇數據集,然後通過下拉菜單「Type of fit」選擇擬合曲線的類型,工具箱提供的擬合類