Removing rows with identical column value
6 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
harjeet singh
2015-12-27
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 个)
Star Strider
2015-12-27
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!