什么是查找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 - 向量) –