Mat*_*ris 7 matlab duplicate-data matrix duplicates sparse-matrix
我想找到具有重复的矩阵的所有行的索引.例如
A = [1 2 3 4
1 2 3 4
2 3 4 5
1 2 3 4
6 5 4 3]
Run Code Online (Sandbox Code Playgroud)
要返回的向量是 [1,2,4]
很多类似的问题建议使用unique
我已尝试过的功能,但最接近我想要的是:
[C, ia, ic] = unique(A, 'rows')
ia = [1 3 5]
m = 5;
setdiff(1:m,ia) = [2,4]
Run Code Online (Sandbox Code Playgroud)
但是使用unique
我只能提取行的第2,第3,第4 ......等实例,我还需要获取第一行.有什么方法可以做到这一点吗?
注意:它必须是一个不涉及循环遍历行的方法,因为我正在处理大型稀疏矩阵.
怎么样:
[~, ia, ic] = unique(A, 'rows')
setdiff(1:size(A,1), ia( sum(bsxfun(@eq,ic,(1:max(ic))))<=1 ))
Run Code Online (Sandbox Code Playgroud)