1. 程式人生 > >Matlab生成歸一化直方圖

Matlab生成歸一化直方圖

使用matlab的函式histogram可以直接得到資料的直方圖,但這並不是歸一化的直方圖。

使用如下程式碼可以得到歸一化的直方圖

x = randn(10000, 1);
numOfBins = 100;
[histFreq, histXout] = hist(x, numOfBins);
binWidth = histXout(2)-histXout(1);
figure;
bar(histXout, histFreq/binWidth/sum(histFreq));       
xlabel('x');
ylabel('PDF: f(x)');
hold on
% fit a normal dist to check the pdf
PD = fitdist(x, 'normal'); plot(histXout, pdf(PD, histXout), 'r');

結果示意:
這裡寫圖片描述