MATLAB: Numbering the rows of a matrix giving the same number to equal rows

matricesmatrixmatrix arraymatrix manipulation

Hi all, I have a matrix A mxn with some equivalent rows; the equivalent rows can only be adjacent. I want to create without looping a vector C mx1 in which I number from 1 to b<m the rows of A giving the same number to the same rows. E.g.
A=[1 2 3 4; 5 6 7 8; 5 6 7 8; 5 6 7 8; 0 0 0 0; 8 9 0 1; 8 9 0 1]
C=[1 2 2 2 3 4 4];
Could you help me?

Best Answer

[~,~,C] = unique(A,'rows','stable')