Count the number of times a value occurs in a specific of an array

432 vues (au cours des 30 derniers jours)
Tyler
Tyler le 17 Juil 2014
Commenté : KARANAM ANILBABU le 10 Fév 2019
Given a array, is there any way to count the number of times a value occurs within a specific row of that array?
For example, if I have a array:
A=[1,2,5,2,3,4,2; 4,2,1,5,3,2,3; 1,4,2,3,2,2,1];
I want to know how many times the value '2' occurs in the second row
Thanks

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 17 Juil 2014
Modifié(e) : Azzi Abdelmalek le 17 Juil 2014
A=[1,2,5,2,3,4,2; 4,2,1,5,3,2,3; 1,4,2,3,2,2,1]
sum(A(2,:)==2)
%or
nnz(A(2,:)==2)
  2 commentaires
Tyler
Tyler le 29 Juil 2014
Thanks Azzi!
If I had the same problem, but I wanted to determine how many values were between a certain range, (ie. between 2 and 4) how would I do that?
Image Analyst
Image Analyst le 29 Juil 2014
Tyler, you can use histc(). See my answer or Star's answer.

Connectez-vous pour commenter.

Plus de réponses (2)

Image Analyst
Image Analyst le 17 Juil 2014
In general, you can use histc() to find the counts for all of the numbers in one shot:
A=[1,2,5,2,3,4,2; 4,2,1,5,3,2,3; 1,4,2,3,2,2,1];
edges = unique(A)
counts = histc(A(:), edges)
In the command window:
edges =
1
2
3
4
5
counts =
4
8
4
3
2

Geoff Hayes
Geoff Hayes le 17 Juil 2014
Try the following to find the number of times '2' occurs in the second row
length(find(A(2,:)==2))

Catégories

En savoir plus sur Logical 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