1

我想删除所有重复的行,忽略我使用此代码的第二列的内容:x = unique(x,'rows'); 没有成功;

谢谢您的帮助。

A=
1   x   10  4
1   x   10  4
1   x   10  4
2   x   20  5
2   x   15  5
3   x   30  6
4   x   50  7
4   x   50  7
5   x   60  8
5   x   60  8
5   x   65  9

Result 
A = 
1   x   10  4
2   x   20  5
2   x   15  5
3   x   30  6
4   x   50  7
5   x   60  8
5   x   65  9
4

2 回答 2

1

我认为这应该有效:

[~, idx] = unique(A(:,[1 3 4]),'rows')

B = A(idx,:)
于 2013-11-14T10:39:31.613 回答
0

使用 的多输出版本unique获取行索引:

[bb ii jj] = unique(A(:,[1 3:end]),'rows');
result = A(ii,:);

这与@RobertP. 的答案基本相同,后者早于 6 秒 :-)

于 2013-11-14T10:39:37.953 回答