删除某些列上具有条件的行

时间:2013-11-14 10:34:21

标签: matlab

我想删除所有重复的行,忽略第二列的内容 我使用过这段代码: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

2 个答案:

答案 0 :(得分:1)

我认为这应该有效:

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

B = A(idx,:)

答案 1 :(得分:0)

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

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

这与@ RobertP。的答案基本相同,该答案提前6秒发布: - )