簡體   English   中英

您如何將直方圖歸一化,以使每個bin的總和為1?

[英]How would you normalize a histogram so the sum of each bin is 1?

您如何將直方圖A歸一化,因此每個bin的總和為1

將直方圖除以垃圾箱的寬度,如何繪制

我有這個

dist        = rand(50)    
average     = mean(dist, 1);   
[c,x]       = hist(average, 15);    
normalized  = c/sum(c);
bar(x, normalized, 1)

在這種情況下, n = 50

  • 獲得均值和方差^ 2的值的公式是什么? 我們寫N(mean, (variance^2) / 50) ,但是如何?
  • 如何繪制均勻分布和正態分布?

直方圖必須接近正態分布。

這是歸一化概率密度函數的非常不尋常的方式。 我假設您要標准化,以使曲線下的面積為1。在這種情況下,這就是您應該做的。

[c,x]=hist(average,15);
normalized=c/trapz(x,c);
bar(x,normalized)

無論哪種方式,要回答您的問題,都可以使用randn生成正態分布。 現在,您將生成一個50x50均勻分布矩陣,並沿一維求和,以近似正態高斯。 這是不必要的。 要生成1000個點的正態分布,請使用randn(1000,1)如果要使用行向量,請對其進行轉置或翻轉數字。 要生成均值mu和方差sigma2的高斯分布,並繪制其pdf,可以這樣做(一個示例)

mu=2;
sigma2=3;
dist=sqrt(sigma2)*randn(1000,1)+mu;
[c,x]=hist(dist,50);
bar(x,c/trapz(x,c))

盡管可以使用統計工具箱中的專用功能來完成這些操作,但這同樣簡單,簡單,並且不需要其他工具箱。

編輯

我錯過了您想知道如何生成均勻分布的部分。 rand ,默認情況下為您提供[0,1]上均勻分布的隨機變量。 要從[a, b]之間的均勻分布獲得rv,請使用a+(ba)*rand

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM