什麼是查找MATLAB中分類矢量中值的索引的最快方法? 也就是說,有沒有一個快速的find(vector == myNumber, 1, 'first')
當矢量排序?MATLAB中分類矢量的速度增強
我有一個大矩陣(200,000 x 4)的位置,每個位置都有一個唯一的整數ID記錄在第一列。我想找到一個已知ID的位置,但成千上萬的搜索可以讓我找到一點點。
什麼是查找MATLAB中分類矢量中值的索引的最快方法? 也就是說,有沒有一個快速的find(vector == myNumber, 1, 'first')
當矢量排序?MATLAB中分類矢量的速度增強
我有一個大矩陣(200,000 x 4)的位置,每個位置都有一個唯一的整數ID記錄在第一列。我想找到一個已知ID的位置,但成千上萬的搜索可以讓我找到一點點。
如果你使用ismembc2,loc輸出應該會給你你所需要的。有關詳細信息,請參閱本:
http://www.mathworks.com/support/solutions/en/data/1-9NIE1N/index.html?product=ML&solution=1-9NIE1N
我不知道這是否是快,但你可能要嘗試
result=vector(vector(:,1)==myNumber,:)
result
將包含4個元素一行哪個矢量first column == myNumber
循環速度測試表明這在R2010a中不會更快。 – Steve
感謝您的更新。 –
對於更一般的形式,包括我nequality,看到這個問題:[快速搜索排序向量](http://stackoverflow.com/questions/20461972/fast-searching-for-the-lowest-value-greater-than-x-in-a-sorted - 向量) –