matlab - 比较两组向量

标签 matlab vector

我有矩阵 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/

相关文章:

matlab - plotyy 的单独线条和轴样式

c++ - 如何获取C++ vector 中解压缩的多个值

c++ - 将此 vector 字符数组复制到字符串中的正确方法是什么

c++ - 64 位 T 的 std::vector<T*> 与 std::vector<T>

matlab - 使用 MATLAB svmtrain

matlab - 如何在 matlab/octave 中矢量化这个丑陋的嵌套循环?

c++ - 从 vector 的元素初始化结构

c++ - 如何在 C++ 中访问成员函数内的对象数组?

matlab - 在 Matlab 中转置三角矩阵的列向量?

Matlab:使用 bsxfun 时出错两个输入数组的非单一维度必须彼此匹配