http://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.spatial.distance.cdist.html
我查看了这个函数的实现,我看到它只是使用循环。我只对euclidean / sqeuclidean
选项感兴趣。
正如你在本文中看到的那样:http://nonconditional.com/2014/04/on-the-trick-for-computing-the-squared-euclidian-distances-between-two-sets-of-vectors/,这个函数的输出可以用矩阵乘法来完成,这对我来说似乎更有效,而不是循环。
有人可以告诉我这个问题吗?
以下是实现结果输出的c代码:
for (i = 0; i < mA; i++) {
for (j = 0; j < mB; j++, dm++) {
u = XA + (n * i);
v = XB + (n * j);
*dm = seuclidean_distance(var, u, v, n);
}
}