Counting occurrence of elements in an array

103 vues (au cours des 30 derniers jours)
Mustafa Sheikh
Mustafa Sheikh le 25 Mar 2015
Commenté : Katherine May le 4 Oct 2024
How would I go about counting the occurrence of elements in an array including elements that may not be in the array.
For example if x = [2 3 2 4 5 6 8 2 9 5], I would like to produce an array that has the frequency of each element from 1 to 10 so it'd be output = [0 3 1 1 2 1 0 1 1 0]
Thanks

Réponse acceptée

Star Strider
Star Strider le 25 Mar 2015
Modifié(e) : Star Strider le 25 Mar 2015
Use the hist function:
x = [2 3 2 4 5 6 8 2 9 5];
binc = [1:10];
counts = hist(x,binc);
result = [binc; counts]
produces:
result =
1 2 3 4 5 6 7 8 9 10
0 3 1 1 2 1 0 1 1 0

Plus de réponses (1)

Ryan
Ryan le 25 Mar 2015
Modifié(e) : Ryan le 25 Mar 2015
This works....
x= [2 3 2 4 5 6 8 2 9 5]
for index=1:length(x)
y(index)= sum(x==index);
end
y
produces
x =
2 3 2 4 5 6 8 2 9 5
y =
0 3 1 1 2 1 0 1 1 0
  1 commentaire
Katherine May
Katherine May le 4 Oct 2024
This also works for array items that aren't numbers!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by