How to count repetition of a row in a matrix?

8 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Stephen23
Stephen23 il 13 Nov 2018
Modificato: Stephen23 il 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

Più risposte (0)

Categorie

Scopri di più su Operators and Elementary Operations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by