我有一个简单的问题。
假设我们有两个数组:
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中的每个值的情况下执行此操作..? 谢谢! 艺术。
答案 0 :(得分:8)
这样就可以了:
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
的索引。