Find unique rows comparing 2 colums?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ronan
el 22 de Sept. de 2015
Comentada: Ronan
el 22 de Sept. de 2015
% code
a = [1,200,400;
2,222,410;
3,300,409;
4, 90, 100;
5, 320, 420;
6, 200, 400;
7, 222, 410;
8, 350, 405;
9, 210, 110;
10, 50, 80;]
if you look at the matrix, the first row at column 2 and 3 has values the same as the 6th row. e.g. a(1,2:3) = a(6,2:3). I m trying to return 'a' where it doesn't include duplicates. so the first, second, sixth and seventh row should only have one instance. Previously I just used a nested for loop to take each row and compare it to all other rows but on a larger scale this is computationally expensive. I was trying out the unique function with rows but it only seems to compare individual row elements to one another rather than compare 2 columns of one row to the other rows.
0 comentarios
Respuesta aceptada
Thorsten
el 22 de Sept. de 2015
unique(a(:, 2:end), 'rows')
3 comentarios
Star Strider
el 22 de Sept. de 2015
Add the ‘setOrder’ argument 'stable' to keep the original order:
unique(a(:, 2:end), 'rows', 'stable')
Más respuestas (0)
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices 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!