matlab:找到两个矩阵共同的值的索引

Art*_*Art 2 arrays matlab compare find indices

我有一个简单的问题.

假设我们有两个数组:

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];
Run Code Online (Sandbox Code Playgroud)

我希望数据的索引值等于A中的任何值.

即答案是:1,2,7,8,9,19,20,21

怎么做而不使用for循环并逐个扫描A中的每个值..?谢谢!艺术.

Rod*_*uis 8

这将完全是这样的:

inds = find(ismember(data, A))
Run Code Online (Sandbox Code Playgroud)

该功能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
Run Code Online (Sandbox Code Playgroud)

在哪里1,23参考索引A.