Removing rows with identical column value

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.

 採用された回答

harjeet singh
harjeet singh 2015 年 12 月 27 日

1 投票

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 件のコメント

Miguel L
Miguel L 2015 年 12 月 27 日
It works very nice Harjeet Singh. Thanks.

サインインしてコメントする。

その他の回答 (1 件)

Star Strider
Star Strider 2015 年 12 月 27 日

2 投票

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 件のコメント

Miguel L
Miguel L 2015 年 12 月 27 日
It works Star problem solved.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeProgramming についてさらに検索

製品

タグ

質問済み:

2015 年 12 月 27 日

コメント済み:

2015 年 12 月 27 日

Community Treasure Hunt

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

Start Hunting!

Translated by