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,然後找到非零的第一次出現,但似乎效率低下。有沒有有效的方法來做到這一點?謝謝!
我有一個數字矢量:查找的數字第一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,然後找到非零的第一次出現,但似乎效率低下。有沒有有效的方法來做到這一點?謝謝!
我找到了答案。
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)
爲了使它更一般,你可以使用'v = [2 3 5]; find(ismember(x,v),1)' –
@LuisMendo這應該是一個答案! – rayryeng
@Tyler考慮使用'max'的第二個輸出。我認爲這在計算上會更有效率。 – rayryeng