how can i find identical rows in a matrix
77 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
AA
am 21 Mär. 2015
Kommentiert: AA
am 21 Mär. 2015
I have a 158x7 matrix. I want to find if there is at least one row which is identical.
2 Kommentare
Geoff Hayes
am 21 Mär. 2015
AA - please describe what you mean by similar. Do you meant that the two rows are identical or share the same values or share a pattern of numbers? Be clear about what the problem is you are trying to solve. Use the question body to include more than just a repeat of your question header.
Akzeptierte Antwort
Konstantinos Sofos
am 21 Mär. 2015
Bearbeitet: Konstantinos Sofos
am 21 Mär. 2015
Use unique() to find the distinct row values. If you end up with fewer rows, there are duplicates. It'll also give you indexes of one location of each of the distinct values. All the other row indexes are your duplicates.
x = [
1 1
2 2
3 3
4 4
2 2
3 3
3 3
];
[u,I,J] = unique(x, 'rows', 'first')
hasDuplicates = size(u,1) < size(x,1)
ixDupRows = setdiff(1:size(x,1), I)
dupRowValues = x(ixDupRows,:)
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!