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'是顯而易見的答案。 –