Matlab 从数组中删除非唯一行

Matlab 从数组中删除非唯一行,matlab,matrix,duplicates,unique,rows,Matlab,Matrix,Duplicates,Unique,Rows,我有一个数组a,如下所示: a = [ 1 2; 3 4; 1 2 ]; 我想删除a中多次出现的所有行,并获取c: c = [ 3 4 ]; 请注意,这与保留唯一行的操作不同,因为我根本不希望出现重复的行。如何实现这一点?的第三个输出为您提供原始数组中唯一行的索引。您可以将其与一起使用来计算出现的行数,这可用于选择只出现一次的行 例如: A = [1 2; 3 4; 1 2]; [uniquerow, ~, rowidx] = unique(A, 'rows'); noccurrence

我有一个数组
a
,如下所示:

a = [ 1 2; 3 4; 1 2 ];
我想删除
a
中多次出现的所有行,并获取
c

c = [ 3 4 ];
请注意,这与保留唯一行的操作不同,因为我根本不希望出现重复的行。如何实现这一点?

的第三个输出为您提供原始数组中唯一行的索引。您可以将其与一起使用来计算出现的行数,这可用于选择只出现一次的行

例如:

A = [1 2; 3 4; 1 2];

[uniquerow, ~, rowidx] = unique(A, 'rows'); 
noccurrences = accumarray(rowidx, 1);

C = uniquerow(noccurrences==1, :);
返回:

>> C

C =

     3     4
可能重复的