Count the same element in a large rows of one column

1 Ansicht (letzte 30 Tage)
Manti  Etekia
Manti Etekia am 13 Mai 2019
Bearbeitet: madhan ravi am 13 Mai 2019
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 Kommentare
Walter Roberson
Walter Roberson am 13 Mai 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 am 13 Mai 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

Melden Sie sich an, um zu kommentieren.

Antworten (3)

madhan ravi
madhan ravi am 13 Mai 2019
Bearbeitet: madhan ravi am 13 Mai 2019
uniquevalue = 9; % for example
nnz(matrix==uniquevalue)

KSSV
KSSV am 13 Mai 2019
Bearbeitet: KSSV am 13 Mai 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 am 13 Mai 2019
Let A - your vector (421 x 1):
[a,~,c] = unique(A);
out = array2table([a, accumarray(c,1)],'v',{'value','times'});

Kategorien

Mehr zu Code Generation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by