How to count repetition of a row in a matrix?

3 Ansichten (letzte 30 Tage)
Mr M.
Mr M. am 13 Nov. 2018
Kommentiert: Mr M. am 13 Nov. 2018
I have a matrix: M = [1,2; 2,3; 1,5; 2,3; 1,4; 1,6; 2;3, 8,9]; And I want to check number of occurance of a given row, for example [2,3]. How to do that without for cycle?

Akzeptierte Antwort

Stephen23
Stephen23 am 13 Nov. 2018
Bearbeitet: Stephen23 am 13 Nov. 2018
>> M = [1,2; 2,3; 1,5; 2,3; 1,4; 1,6; 2,3; 8,9];
>> R = [2,3];
Method one: eq: and all:
>> nnz(all(M==R,2))
ans = 3
For MATLAB versions before R2016b use bsxfun and eq:
>> nnz(all(bsxfun(@eq,M,R),2))
ans = 3
Method two: ismember:
>> nnz(ismember(M,R,'rows'))
ans = 3

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays 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