这应该是一个相当简单的问题来回答,但我很想听听一些独特的方法来做到这一点,所以就这样吧。我正在使用 Matlab,但可行的 C# 解决方案也适用于我。
我有一个数组(23000 行 x 3 列)。每行是一组 90 个值中的 3 个值的组合。我想从这 90 个值中选择一个子集,比如 10 个,然后找到这 10 个值中的任何 3 个是成员的行,然后返回行号。
现在,我可以生成这 10 个值的所有 3 值组合的列表,然后ismember
在 Matlab 中使用来查找每个组合的行。但是有不同的或更优雅的方式吗?
或者,我可以a=sum(ismember(array, 'value'),2)
用来生成'value'
出现在的逻辑向量array
,并用于b=find(a)
查找出现的行索引'value'
。我可以对 10 的每个值执行此操作。但现在问题变成了,在这 10 个索引列表中,哪个索引出现 3 次或更多次?
任何想法/意见/问题表示赞赏。谢谢!