hi every one ,

9 views (last 30 days)
mina massoud
mina massoud on 7 May 2019
Edited: Adam Danz on 13 May 2019
A=[ 1 1 1 2 2 3 3 3 1 1 4 4 4 2 2 3 3 3 4 3 ]
how can i count the number of 1 and 2 and 3 and 4 in the row vector
thank u

Accepted Answer

Alex Mcaulley
Alex Mcaulley on 7 May 2019
sum(A==1) % or sum(A==2)...
  1 Comment
Adam Danz
Adam Danz on 9 May 2019
Edited: Adam Danz on 9 May 2019
Note that you'll need to calculate the unique values in A and then loop through each of them in order to use this method.
Aunq = unique(A);
count = zeros(size(Aunq));
for i = 1:length(Aunq)
count(i) = sum(A==Aunq(i)):
end
...which is all done in the one line of code I propsed using histcounts().

Sign in to comment.

More Answers (1)

Adam Danz
Adam Danz on 7 May 2019
Edited: Adam Danz on 13 May 2019
Use histcounts() instead. It's designed for this purpose.
A=[ 1 1 1 2 2 3 3 3 1 1 4 4 4 2 2 3 3 3 4 3 ];
counts = histcounts(A,[unique(A),max(A)+1]);
Result
list = table(unique(A)', counts', 'VariableNames', {'Number', 'Count'});
list =
4×2 table
Number Count
______ _____
1 5
2 4
3 7
4 4

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!