Hi I have a 25,000,000x2 matrix. I want to delete all Rows which have the same elements in column 1. So I would require only unique elements in column 1 and their corresponding values in column 2.

3 commentaires

Jan
Jan le 29 Juin 2012
Just for clarification:
a = [1,2; 1,3; 3,4] => [3,4] ?
Jan
Jan le 29 Juin 2012
Modifié(e) : Jan le 29 Juin 2012
Mate 2u has written as comment to my wrong answer:
Hi Jan for [1,2; 1,3; 3,4] we would expect to see => [1,3; 3,4] as 1 occured more than once (take the last of the non unique values).
This means, that he does not "want to delete all Rows which have the same elements in column 1".
Miguel L
Miguel L le 27 Déc 2015
Modifié(e) : Miguel L le 27 Déc 2015
¡Hello Jan!
Regarding to this question, actually I wanna get "a = [1,2; 1,3; 3,4] => [3,4] ", as you suggest at first ¿Could you help me? Tank you in advance.

Connectez-vous pour commenter.

 Réponse acceptée

Jan
Jan le 29 Juin 2012

1 vote

What about:
unique(x, 'rows')
?

1 commentaire

Ryan
Ryan le 29 Juin 2012
A = [1 2; 1 3; 3 4];
unique(A,'rows')
ans =
1 2
1 3
2 4

Connectez-vous pour commenter.

Plus de réponses (1)

Ryan
Ryan le 29 Juin 2012
Modifié(e) : Ryan le 29 Juin 2012

0 votes

Based off of Jan's answer:
A = [1 2; 1 3; 3 4];
[B, I, J] = unique(A(:,1),'last');
NewMatrix = A(I,:);

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by