# How to easily detect all the equal rows of an array with saving the indices of the elements?

1 view (last 30 days)
Sleh Eddine Brika on 19 May 2016
Commented: Ahmet Cecen on 20 May 2016
I have a matrix as shown here
A=[ -1 0 0;
-1 0 0;
-1 0 0;
-1 0 0;
1 0 0;
1 0 0;
] I want to detect all the equal rows in the matrix and build another matrix with the indices of the equal rows. For exemple here row1=rows2=row3=row4 and row5=row6... I want to have a matrix like this [1 2;1 3;1 4; 5 6]. I find a solution but it uses a lot of for loops so it's not fast enough when I apply it to a large matrix. Is there any easiest solution for this. Thank you.

Ahmet Cecen on 19 May 2016
This does all of that:
[C,ia,ic] = unique(A,'rows')
##### 2 CommentsShowHide 1 older comment
Ahmet Cecen on 20 May 2016
histogram(ic,length(ia));
Will give you those counts.

### Categories

Find more on Creating and Concatenating Matrices 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!

Translated by