2016-08-09 19 views
1

我有一個數字矢量:查找的數字第一ocurrence的第一指標

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

我想找到的無論是2,3或5。因此,在這種情況下,第一次出現的索引索引將爲8.

我曾想過將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) 
+5

爲了使它更一般,你可以使用'v = [2 3 5]; find(ismember(x,v),1)' –

+2

@LuisMendo這應該是一個答案! – rayryeng

+1

@Tyler考慮使用'max'的第二個輸出。我認爲這在計算上會更有效率。 – rayryeng