Remove duplicate rows from matrix

Hello
I have a 2xN matrix where each column represent the x and y coordinates of a 2D point. I need to remove any duplicate point from this matrix, any suggestions?
Best regards MC

4 commentaires

Stephen23
Stephen23 le 14 Mai 2017
Note that 2xN is a matrix, and not a vector.
MC
MC le 14 Mai 2017
My bad, I meant a matrix:)
Garvit Amipara
Garvit Amipara le 6 Mar 2022
It would be very nice of you, if you could change the title of this question, it misleads others who are actually looking for the answers related to 'vector'. Thank you(:
Stephen23
Stephen23 le 6 Mar 2022

Connectez-vous pour commenter.

 Réponse acceptée

Stephen23
Stephen23 le 14 Mai 2017
Modifié(e) : Stephen23 le 14 Mai 2017
It is trivial to use unique to get only the unique rows of matrix. Because your matrix is arranged 2xN, simply transpose before and after:
unique(M.','rows').'

5 commentaires

MC
MC le 14 Mai 2017
Modifié(e) : MC le 14 Mai 2017
Thanks this worked almost! I manually checked the matrix, there is one part where there is 4 equal points, the command unique removes only two of them.
I just run it twice and it works fine!
Mr M.
Mr M. le 6 Fév 2018
what does it mean .' ? why not just ' is the transpose?
Guillaume
Guillaume le 6 Fév 2018
@Mr M, Why don't you look it up in the doc.
If your matrix is made of only non-complex number the difference does not matter, but if you may have complex numbers in your matrix, using ' instead of .' will lead to problems.
Stephen is correct to use .' in his answer.
LO
LO le 12 Avr 2019
how can I keep all values of each row ?
Paween Pongsomboon
Paween Pongsomboon le 18 Fév 2022
I don't know if you still alive, stephen. I wish I could hug you now!
Thx for the super solution

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by