Count number of values of a Matrix inside a range and plot it
3 ビュー (過去 30 日間)
古いコメントを表示
Hi!
I have a matrix A which dimension is 100 X 100.
I filtered A in order to obtain its values less than 15 and I obtain matrix B.
B=A;
indices = find(abs(B)>15);
B(indices) = NaN;
I would like to know how to obtain the number of values in B in the folowing ranges:
Number of values of B between 5 and 15
Number of values of B between 4 and 5
Number of values of B between 3 and 4
Number of values of B between 0 and 3
Finally I would like to plot these (numbers of values in these ranges) in a bar graph or hist graph.
Thank you!!
0 件のコメント
採用された回答
Adam Danz
2021 年 1 月 14 日
編集済み: Adam Danz
2021 年 1 月 15 日
bins = [0,3,4,5,15];
h = histogram(B(:),bins);
To get the counts within each bin,
h.Values
4 件のコメント
Adam Danz
2021 年 1 月 15 日
編集済み: Adam Danz
2021 年 1 月 15 日
No problem.
When using histogram (or histcounts) to count binned data, remember these points summarized from the documentation.
- For a bin [a,b], data are counted if a <= data < b so values that are equal to the upper bound of the bin are not counted in the bin.
- The last bin behaves differently. For bin [a,b], data are counted if a <= data <= b as is shown below.
bins = [1 2 3 4];
data = [1.0 1.5 2.0 2.5 3.0 3.5 4.0];
histogram(data, bins)
A solution to get around this problem is to add another bin:
bins = [1 2 3 4 5];
histogram(data, bins)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Graphics Object Properties についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!