matlab - 两个向量之间的欧氏距离(单行矩阵)

标签 matlab octave

我有两个向量(单行矩阵)。假设我们已经知道长度 len

A = [ x1 x2 x3 x4 x5 .... ]
B = [ y1 y2 y3 y4 y5 .... ]

要计算它们之间的欧几里得距离什么是最快的方法。我的第一次尝试是:

diff = A - B
sum = 0
for column = 1:len
    sum += diff(1, column)^2
distance = sqrt(sum)

我已经通过这个方法循环了数百万次。所以,我正在寻找快速而正确的东西。请注意,我没有使用 MATLAB,也没有可用的 pdist2 API。

最佳答案

diff = A - B;
distance = sqrt(diff * diff');

distance = norm(A - B);

关于matlab - 两个向量之间的欧氏距离(单行矩阵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368597/

相关文章:

matlab - 在 MATLAB 中绘制体积数据

octave - 无法在 Octave 中安装包 optim

python - SciPy 而不是 GNU Octave

matlab - 从用于多类分类的标签生成向量矩阵(向量化)

元胞数组中 Octave 的 MATLAB extractBetween 替代方案

function - 为什么 Octave 不将变量封装在嵌套函数内?

matlab - 多循环变量 Matlab

matlab - 将图像分成3*3的 block

c++ - MEX:如何将矩阵从 C++/C 返回到 MATLAB

matlab - 将按钮添加到 MATLAB 图窗(而非 GUI)以退出循环