我有矩阵 A 和 B
size(A) = [n x]; size(B) = [n y];
现在我需要比较 A 的每个列向量与 B 的每个列向量的欧几里得距离。我现在使用 dist
方法
Q = dist([A B]); Q = Q(1:x, x:end);
但它也做了很多不必要的工作(例如分别计算 A 和 B 向量之间的距离)。
计算此值的最佳方法是什么?
最佳答案
您正在寻找pdist2
。
% Compute the ordinary Euclidean distance
D = pdist2(A.',B.','euclidean'); % euclidean distance
您应该对 pdist2
以来的矩阵进行转置假设观察结果是在行中,而不是在列中。
关于matlab - 比较两组向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15324967/