matlab拟合gamma分布,使用matlab拟合Gamma分布
任務(wù)描述: 有一批數(shù)據(jù),需要將其histogram擬合成Gamma分布,histogram分20個(gè)bin,從0到100。結(jié)果如下圖所示:
實(shí)現(xiàn)步驟:
1. 裝載數(shù)據(jù)進(jìn)來(lái),數(shù)據(jù)文件是data.for.hist.txt,文件結(jié)構(gòu)是一列無(wú)header的數(shù)據(jù),共43個(gè)數(shù)據(jù)。
>> data=load(‘data.for.hist.txt’)
data是43×1的矢量。
2. 打開(kāi)distribution fitting tool
>> dfittool
選擇Display type為Density(PDF)。點(diǎn)擊Data…,彈出Data對(duì)話框。
在此對(duì)話框內(nèi),設(shè)置Data為 ‘data’矢量,Censoring和Frequency為 none。設(shè)置data set name為dataset,然后點(diǎn)擊 Create Data Set。
點(diǎn)擊Set Bin Rules,設(shè)置Bin width為5。其余不變,OK確認(rèn)關(guān)閉Set Bin Rules。這時(shí),我們將data的histogram設(shè)置為每個(gè)bin長(zhǎng)度為5。在不同的應(yīng)用里,bin根據(jù)具體情況調(diào)整。關(guān)閉Data對(duì)話框。
3. Gamma擬合
點(diǎn)擊New Fit…,在New Fit對(duì)話框里選擇Data為dataset,Distribution為Gamma,點(diǎn)擊Apply進(jìn)行擬合。點(diǎn)擊Close關(guān)閉New Fit對(duì)話框。
此時(shí),看到下圖的效果:
我們需要修改它的X域,使之匹配我們的histogram的X最大值100。點(diǎn)擊Tools菜單下的Axes Limit Control,將X Lower Limit和X Upper Limit更改為 0和100。
4. 導(dǎo)出成figure
使用File菜單下的Print to Figure導(dǎo)出成figure。對(duì)figure進(jìn)行必要修改。
>>figure(1)? (注,如果已經(jīng)打開(kāi)多個(gè)figure窗口,導(dǎo)出的figure序號(hào)可能不是1而是其它數(shù)字,注意figure窗口標(biāo)題上的Figure n里的n)
>>legend hide
>>xlabel ‘1/32 degree, mm/day’
>>ylabel ‘Frequency’
此時(shí)效果如下,
5. 修改figure格式
設(shè)置figure為Tools-> edit plot狀態(tài),打開(kāi)View->Property Editor。
將histogram的plot type從line改成Area,配置合適的face color和edge color。
將x軸的范圍X Limits設(shè)置為0 to 100。
這時(shí),histogram壓著擬合曲線,選擇擬合曲線,右鍵Cut后,再Paste進(jìn)來(lái),可以將擬合曲線帶到最上面。
6. 修改數(shù)據(jù)
注意到目前為止,Y軸仍是Density。我們需要將Y坐標(biāo)修改為Frequency(或者count)。Count=Density x bin width x data count,這里bin width是5,data count是43。因此,我們需要對(duì)Ydata乘以5×43=215。
選擇擬合曲線,
>>ydata=get(gco,’YData’)
>>ydata_215 = ydata*215
>>set(gco,’YDATA’,ydata_215)
選擇histogram,
>>set(gco,’YDATA’,get(gco,’YDATA’)*215)
修改xlim和ylim
>>ylim([0 10])
>>xlim([0 100])
將figure還原為非編輯狀態(tài)。Tools->Edit Plot,并關(guān)閉Property editor。
以上步驟中數(shù)次修改xlim和ylim,并不是每次都需要,這里僅是為了演示需要。
7. 保存圖形
>>print -dpng ‘histogram_dist.png’
在figure對(duì)話框的File-> Save As…保存為MATLAB Figure(.fig),以后可以通過(guò)File->Open…打開(kāi)。
結(jié)論
本文演示了如何使用Matlab對(duì)數(shù)據(jù)的histogram使用Gamma分布進(jìn)行擬合。介紹了matlab的常用命令,Distribution Fitting Tool,figure的格式化編輯功能,對(duì)figure對(duì)像數(shù)據(jù)的修改等。也介紹了比如如何調(diào)整figure里對(duì)像的z-order等實(shí)用技巧。
總結(jié)
以上是生活随笔為你收集整理的matlab拟合gamma分布,使用matlab拟合Gamma分布的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Docker-compose实战——Dj
- 下一篇: SequenceFile文件