Count the same element in a large rows of one column

1 view (last 30 days)
Hello!
I want to count a specific value of matrix in each row of matrix, the size of the matrix is 421 by 1
Thanks
  2 Comments
Walter Roberson
Walter Roberson on 13 May 2019
Since you only have one column in each row, then the count for each row will be either 0 (the value is not the target) or 1 (the value is the target), so you can just use
YourMatrix == SpecificValue
Manti  Etekia
Manti Etekia on 13 May 2019
Walter Roberson thank you, but from then i want to count all those value and output such as:
value of 9 was 67, Sorry i just start programming
Thank you

Sign in to comment.

Answers (3)

madhan ravi
madhan ravi on 13 May 2019
Edited: madhan ravi on 13 May 2019
uniquevalue = 9; % for example
nnz(matrix==uniquevalue)

KSSV
KSSV on 13 May 2019
Edited: KSSV on 13 May 2019
idx = matrix==myvalue ; % this wlill give logical indices
T = nnz(idx) ; % this iwll give you total number of values present
id = find(idx) ; % this will give indices/ positions
If you want to know the repeated values. Use unique
[c,ia,ib] = unique(matrix) ;
If you want along woht count the repeated values:
[a,b]=hist(matrix,unique(matrix))

Andrei Bobrov
Andrei Bobrov on 13 May 2019
Let A - your vector (421 x 1):
[a,~,c] = unique(A);
out = array2table([a, accumarray(c,1)],'v',{'value','times'});

Categories

Find more on Code Generation 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!