Removing rows with identical column value

4 vues (au cours des 30 derniers jours)
Miguel L
Miguel L le 27 Déc 2015
Commenté : Miguel L le 27 Déc 2015
Hello. I have a 2 x 3 matrix.
I want to delete all rows which have the same elements in column 3.
For instance: a = [2,7; 3,4; 3,7] => [3,4]
In this case, as number 7 was repeated in row 1 and row 3, both rows are removed.
Thanks in advance.

Réponse acceptée

harjeet singh
harjeet singh le 27 Déc 2015
hello miguel use this code
clear all
close all
clc
a = [2,7; 3,4; 3,7];
b=[];
for i=1:size(a,1)
[r,c]=find(a(:,1)==a(i,1));
if(length(r)==1)
b=[b;a(i,:)];
end
end
b
  1 commentaire
Miguel L
Miguel L le 27 Déc 2015
It works very nice Harjeet Singh. Thanks.

Connectez-vous pour commenter.

Plus de réponses (1)

Star Strider
Star Strider le 27 Déc 2015
a = [2,7; 3,4; 3,7];
[Au,ia,ic] = unique(a(:,2), 'stable');
rep = accumarray(ic, 1);
rows = find(ic == ic(rep<2));
Result = a(rows,:)
Result =
3 4
  1 commentaire
Miguel L
Miguel L le 27 Déc 2015
It works Star problem solved.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by