Finding Duplicate rows?
Ältere Kommentare anzeigen
I want to find duplicate rows in my Nx2 matrix regardless of order. For instance if I were to have a matrix A
[ 1 2;
2 3;
2 1;
3 5;
4 6]
I would like to be told for instance that rows 1 and 3 are the same. Is there a quick and easy way to do this?
Thank you.
Akzeptierte Antwort
Weitere Antworten (1)
Stephen23
am 8 Apr. 2019
Simpler using hist (or its more recent equivalents):
>> A = [1,2;2,3;2,1;3,5;4,6;5,3] % I added an extra row
A =
1 2
2 3
2 1
3 5
4 6
5 3
>> [U,~,X] = unique(sort(A,2),'rows');
>> [N,E] = hist(X,1:max(X));
>> C = arrayfun(@(x)find(X==x),E(N>1),'uni',0);
>> C{:}
ans =
1
3
ans =
4
6
2 Kommentare
Pedro Guevara
am 6 Jan. 2021
Hi. I have one. I also need something similar to the author of the Post, however I require that each row be exactly the same (not inverted as requested by the author), that is:
A = [1,2; % This row (1) is exactly the same as (3)
2,3;
1,2; % This row (3) is exactly the same as (1)
3,5; % This row (4) is exactly the same as (6)
4,6;
3,5] % This row (6) is exactly the same as (4)
What would I have to modify in your code to make it do what I need? Thanks.
Stephen23
am 7 Jan. 2021
"What would I have to modify in your code to make it do what I need?"
Remove the sort function.
Kategorien
Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!