Count number of values of a Matrix inside a range and plot it
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Andrea Mira
el 14 de En. de 2021
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 comentarios
Respuesta aceptada
Adam Danz
el 14 de En. de 2021
Editada: Adam Danz
el 15 de En. de 2021
bins = [0,3,4,5,15];
h = histogram(B(:),bins);
To get the counts within each bin,
h.Values
4 comentarios
Adam Danz
el 15 de En. de 2021
Editada: Adam Danz
el 15 de En. de 2021
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)
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Distribution Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!