1
说我有2点矩阵在MATLAB的指标:查找数值最接近的值
A = [1 4 6 9 11 13 15 18 21]
B = [2 10 19]
是否有一个功能,我可以使用,这样,您在B的每一个元素,我能找到的索引例如,在上面的例子中:2,10和19在A中数值上最接近1,9和18,而1,9,9和18的指数分别是1,4和8,所以该函数应该返回[1 4 8]。
我知道我可以使用循环来做到这一点,但matlab并不真的喜欢循环加我的矩阵太大,迭代通过所有值将是非常昂贵的时间。
目前,我通过排序两个矩阵,然后在某种程度上寻找值降低时间成本,这样在最后最接近的发现价值的指标被保存并那么搜索B中下一个元素的最接近的值就是从这个保存的值开始,而不是从1开始。 – vsx06
感谢您指向帖子的指针。这很有用:) – vsx06
@ vsx06'knnsearch'是显而易见的答案。 –