查找数字第一次出现的第一个索引

时间:2016-08-09 00:24:29

标签: arrays matlab vector

我有一个数字向量:

[0 0 0 1 1 1 1 3 2 2 2 3 3 3 3 5 5 5 5]

我想找到第一次出现的索引,分别是2,3或5.所以在这种情况下,索引将是8.

我曾想过将1s转换为0然后找到非零的第一次出现,但这似乎效率低下。有没有有效的方法呢?谢谢!

1 个答案:

答案 0 :(得分:1)

我找到了答案。

x = [0 0 0 1 1 1 1 3 2 2 2 3 3 3 3 5 5 5 5];
find(x==2 | x==3 | x==5, 1)