How to easily detect all the equal rows of an array with saving the indices of the elements?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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.
0 comentarios
Respuestas (1)
Ahmet Cecen
el 19 de Mayo de 2016
This does all of that:
[C,ia,ic] = unique(A,'rows')
2 comentarios
Ahmet Cecen
el 20 de Mayo de 2016
histogram(ic,length(ia));
Will give you those counts.
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!