2013-05-10 107 views

回答

6

是的,有;速度!特別是對於大型陣列,find將顯着更快。

想想看:操作A > val是在兩種情況下是相同的,但

B = A(A > val) 
A

提取值,並把它們拷貝到一個新的數組B,這將有被分配並複製分配,並且臨時將不得不銷燬。

全部find(A>val, 1, 'first')確實是遍歷邏輯列表,並在遇到第一個true值時返回單個數字;這比沒有用的複製/分配等要少得多,因此速度要快得多。

作爲一個經驗法則,當你不find使用其他選項,邏輯索引幾乎總是最好。當你需要或使用find的附加功能,該find選項幾乎總是最好。

+0

謝謝!這正是我尋找的答案:-) – mlai 2013-05-11 13:22:47