[英]Histogram plot in Matlab with constraints
我想用以下輸出繪制直方圖:
(a). number of bin
(b). data in each bin
(c). bin size for each bin
(d). bin start & bin end for each bin
每個垃圾箱必須至少包含7個元素。 我嘗試了這樣的事情
data = rand(100,1);
n = hist(data);
這樣會得到這樣的結果
10 8 12 12 10 3 10 12 12 11
當我嘗試
n = hist(data,7);
我有
15 14 17 9 11 16 18
這正是我想要的,每個容器中至少有7個元素! &同時,我也想介紹(c)和(d)部分。
因此,為確保已在每個bin中獲得正確數量的元素,我嘗試這樣做:
data = rand(100,1);
i = length(data);
n = hist(data, i);
min_number = 7; % minimum no. in each bin
for j = 1:length(n)
if n(j) < min_number
i = i-1;
n = hist(data,i);
end
end
但是我犯了一些錯誤。 謝謝你的幫助。
我認為根據您自己的代碼可以做到:
data = rand(100,1);
i = length(data);
n = hist(data, i);
min_number = 7; % minimum no. in each bin
while any(n < min_number)
i = i-1;
[n bins] = hist(data,i);
end
figure
bar(bins,n)
(一種)。 箱數
nbin = length(bins);
(b)中。 每個倉中的數據
hist
直接返回為n
hist
(將副本作為您自己的個人版本)以返回在hist
運行的histc
的輸出,或者在弄清楚邊緣之后調用histc
直方圖的 (C)。 每個垃圾箱的垃圾箱大小
hist
使用大小相等的垃圾箱,因此
binsize = bins(2)-bins(1)
(d)。 每個倉位的倉位開始和倉位結束
binedges = [bins'-binsize/2 bins'+binsize/2]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.