我需要匹配两个数据集中的样本。我所拥有的是数据集中所有样本之间的距离,并将它们排列在矩阵中,如下所示。可以存在不同数量的样本,因此它不是方阵。例如,
3 4
6 2
1 9
它是一个3乘2的矩阵,用于定义两个数据集中样本之间的距离。我需要选择具有最小距离的样本对,使得一个样本不被选择两次。在这里,我的答案是3和1; 2和2中的第1项被省略,因为它与其他样品没有最小值。但是,我还需要知道哪些样品没有被选中。有没有一种快捷方法可以在matlab中实现这一点。
答案 0 :(得分:1)
我认为这个问题被称为minimum weight bipartite matching。我不确定Matlab是否提供了开箱即用的算法,但我发现(虽然没有测试过)这里的实现:http://www.mathworks.com/matlabcentral/fileexchange/11609