找到两组点之间最接近的点对,并针对总和差异进行优化

时间:2018-09-12 23:12:51

标签: matlab nearest-neighbor

说我有两个包含点坐标的点矩阵A和B。我想找到使对之间的欧几里得差之和最小的点对。

例如,在一维情况下,我有: A = [4 1 1.5]; B = [4 1.2 0]; 如果算法首先匹配最接近的对(例如this),则可能返回对[4 4],[1 1.2],[1.5 0]。这样得出的总差为1.5 + .2 + 0 = 1.7。

我正在寻找一种解决方案,以最小化线对之间的总差,从而得出总差为.3 + 1 + 0 =的解[4 4],[1 0],[1.5 1.2] 1.3。

这是在3D中获得1万至10万的积分。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

感谢大家的评论!特别是@jodag,用于将其识别为分配问题,提供匈牙利算法作为解决方案,并提供指向Matlab implementation的链接。

这似乎是有效的,至少对于少量的粒子而言。如果陷入困境,我将尝试划分搜索区域。