Optimization MATLAB中排序向量的速度增强

Optimization MATLAB中排序向量的速度增强,optimization,matlab,Optimization,Matlab,在MATLAB中查找排序向量中值的索引的最快方法是什么? 也就是说,当向量被排序时,是否有一个快速的查找(vector==myNumber,1,'first') 我有一个很大的矩阵(200000 x 4),每个位置都有一个唯一的整数ID记录在第一列中。我想找到一个已知ID的正确位置,但数千次搜索可能需要花费我一点时间才能找到。如果您使用ismembc2,loc输出应该会提供您所需的信息。有关更多详细信息,请参见: 我不知道它是否更快,但您可能想试试 result=vector(vector(:,

在MATLAB中查找排序向量中值的索引的最快方法是什么? 也就是说,当向量被排序时,是否有一个快速的
查找(vector==myNumber,1,'first')


我有一个很大的矩阵(200000 x 4),每个位置都有一个唯一的整数ID记录在第一列中。我想找到一个已知ID的正确位置,但数千次搜索可能需要花费我一点时间才能找到。

如果您使用ismembc2,loc输出应该会提供您所需的信息。有关更多详细信息,请参见:


我不知道它是否更快,但您可能想试试

result=vector(vector(:,1)==myNumber,:)

result
将包含4个元素行,其中vector
第一列==myNumber
在FEX上有许多关于此的提交:

+1非常有用的函数。此外,在博客中还发布了关于itBenchmarks的内容,用于对2^24元素向量进行100次随机搜索:IsMember Time:2.142869,Find Time:1.586328,IsMembc2 Time:0.000723循环速度测试表明R2010a中的速度并不快。有关包含不等式的更一般形式,请参见以下问题: