1. 程式人生 > >MATLAB中去除重複的行

MATLAB中去除重複的行

unique函式用來去除矩陣A中重複的元素,
比如說A=[1,2,3,3,4],那麼unique(A)=[1,2,3,4];
如果A=[1,2,3;3,4,5],那麼unique(A)=[1,2,3,4,5];
unique(A,'rows')用來去除矩陣A中重複的行,
比如說A=[1,2,3;4,5,6;1,2,3],
那麼unique(A,'rows')=[1,2,3;4,5,6];

綜上,如果x=[1 1 1 2 2 2 3 3 3 3 3],
那麼unique(x)=[1,2,3]。
去掉矩陣第一列相同,保留剩下的部分
[tmp I] = unique(b(:,1), 'first');c = b(I,:);
去掉前兩列相同的行,保留剩下的部分
[~, ind, ~]=unique(a(:,1:2), 'rows', 'stable')
b = a(ind, :);