我想找到x中2,3或5的第一次出现。输出应为7,因为3首先出现在索引7。我该怎么做?
x = [0 0 0 0 1 1 3 5 2 0 0];
y = [2 3 5];
output = 7
我可以使用find(x == 3,1)来查找一个数字,但是如何对多个数字进行查找呢?
谢谢
答案 0 :(得分:4)
MATLAB find
与ismember
组合已经是正确的选择
在这种情况下
>> find(ismember(x,y),1)
将做您想要的。它返回数组y
中数组x
第一次出现的索引。这将适用于y
可能有的任何长度。
答案 1 :(得分:1)
Find()接受逻辑术语作为参数,因此您可以使用调用,而不是仅检查3,而是使用类似以下内容的方法: (x == 2 || x == 3 || x == 5)
我很一般,您可能要使用intersect()函数。