我有一个简单的问题。
假设我们有两个数组:
data = [1 1 2 2 2 2 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6];
A = [1 3 6];
我想从数据中获得等于 A 中任何值的值的索引。
即答案将是:1、2、7、8、9、19、20、21
如何在不使用for循环的情况下做到这一点,并逐个扫描A中的每个值..?谢谢!艺术。
这将完全做到这一点:
inds = find(ismember(data, A))
该函数ismember
将找到data
中的所有元素,这些元素都在A
.ismember
的第二个输出也可能有用:
>> [~, b] = ismember(data, A))
ans =
1 1 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 3 3 3
其中1
、2
和3
将索引引用为A
。