标签: arrays matlab repeat
我有一个大数组,其中某些行值重复(最多8次重复)。我怎样才能拉出重复的行值及其后续列?
我应该提到第一列是一个ID列(我想查找重复列),但重复的ID值具有不同的列值。
ID = [1;2;4;10;7;1;5;4]
我想找到1和4
输出应为:
ID = [1;4;1;4]
或排序版本:
ID=[1;1;4;4]
任何一个版本都可行。
我相信我需要一个循环并使用find函数
答案 0 :(得分:2)
您可以这样结合histc,ismember和find使用unique:
histc
ismember
find
unique
[n, bin] = histc(A, unique(A)); multiple = find(n > 1); index = find(ismember(bin, multiple)) index = 1 3 6 8
给出了:
ID(index) 1 4 1 4
答案 1 :(得分:2)
排序方法也很简单:
ID = sort(ID); index = find(ID(2:end) == ID(1:end-1)); ID = ID(index);