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

330 views (last 30 days)
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

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 17 Jul 2014
Edited: Azzi Abdelmalek on 17 Jul 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 Comments
Tyler
Tyler on 29 Jul 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?

Sign in to comment.

More Answers (2)

Image Analyst
Image Analyst on 17 Jul 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 on 17 Jul 2014
Try the following to find the number of times '2' occurs in the second row
length(find(A(2,:)==2))

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!