Azzera filtri
Azzera filtri

how to count the occurrences of a value for an matrix?

4 visualizzazioni (ultimi 30 giorni)
a= [ 3 4 5; 7 8 9; 3 6 8 ; 4 6 9; 3 6 5]
I expected the ans:
b=
[ 3 3
4 2
5 2
7 1
8 2
9 2
6 3]
all the values must displays the number of occurences

Risposta accettata

lvn
lvn il 4 Mar 2014
c=unique(a);
b=[c, sum(bsxfun(@eq,a(:),c'))']
b =
3 3
4 2
5 2
6 3
7 1
8 2
9 2

Più risposte (1)

Image Analyst
Image Analyst il 4 Mar 2014
What you're describing is the histogram. You can use the histc() function to get the counts, and then stitch the bins and counts together to get the "b" variable you want.
a = [ 3 4 5; 7 8 9; 3 6 8 ; 4 6 9; 3 6 5]
bins = unique(a);
counts = histc(a(:), bins);
b = [bins, counts]

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by