MATLAB(5)——生成歸一化直方圖


作者:桂。

時間:2017-03-10  22:13:36

鏈接:http://www.cnblogs.com/xingshansi/p/6533579.html 

聲明:歡迎轉載,不過記得注明出處哦~


 

前言

本文作為:曲線擬合與分布擬合 一文的補充內容,主要介紹MATLAB直方圖的繪制,以及對應歸一化直方圖的實現。全文分三部分簡單介紹:

  1)直方圖(hist)繪制;

  2)柵欄圖(bar)繪制;

  3)歸一化直方圖實現。

 

 

 

 

 

一、直方圖(hist)

可以對hist的直方圖進行限定,兩種途徑:個數模式(nbins)/區間模式(numter)  

  A-個數模式

nbins:指定直方圖區間個數。

給出代碼:

rng('default') % for reproducibility
x = 3*randn(3000,1)-2;
nbins = 50;
hist(x, nbins);
grid on;

  結果圖:

  B-區間模式

numter:[start:interval:end].

給出代碼:

rng('default') % for reproducibility
x = 3*randn(3000,1)-2;
numter = [-20:.2:20];
hist(x, numter);
grid on;

  對應結果圖:

此外,hist的輸出結果有兩個(三種方式均可):

[histFreq, histXout]=hist(x);
[histFreq, histXout]=hist(x, nbins);
[histFreq, histXout]=hist(x, numter);

  給出一個演示代碼:

rng('default') % for reproducibility
x = 3*randn(3000,1)-2;
nbins = 50;
[histFreq, histXout]=hist(x, nbins);
subplot 311
hist(x,nbins);grid on;
subplot 312
plot(histXout,histFreq,'r','linewidth',2);
grid on;

subplot 313
hist(x,nbins);hold on;
plot(histXout,histFreq,'r','linewidth',2);
grid on;

  對應結果圖:

可以看到,對於結果:[histFreq, histXout] —>histXout:橫坐標;histFreq:縱坐標。

 

二、柵欄圖(bar)

關於bar,只提及一點,給出代碼:

x = 1900:10:2000;
y = [75.995,91.972,105.711,123.203,131.669,...
     150.697,179.323,203.212,226.505,249.633,281.422];
figure; 
subplot 211
bar(y);grid on;
subplot 212
bar(x,y);grid on;

  結果圖:

即bar可以指定橫軸坐標以及縱軸坐標。

 

三、歸一化直方圖

借助hist的輸出,以及bar的特性,我們可以生成歸一化直方圖,思路:

  • 步驟一:求解每一個bin的區間寬度:binWidth = histXout(2)-histXout(1);
  • 步驟二:求解所有bin的面積:binWidth/sum(histFreq)
  • 步驟三:求解面積歸一化后的高度(寬度保持不變):histFreq/binWidth/sum(histFreq)

直方圖歸一化的代碼:

rng('default') % for reproducibility
x = 3*randn(3000,1)-2;
numOfBins = 100;
% [histFreq, histXout] = hist(x, numOfBins);
numter = [-20:.2:20];
[histFreq, histXout] = hist(x, numter);
binWidth = histXout(2)-histXout(1);
%Bar
figure;
subplot 311
bar(histXout, histFreq/binWidth/sum(histFreq)); hold on;grid on;

  這樣一來,我們對分布擬合,便可以更直觀地觀察直方圖分布與擬合結果的關系:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM