【问题标题】:Compute distance between each combination of rows in two matrices计算两个矩阵中每个行组合之间的距离
【发布时间】:2013-10-30 18:58:12
【问题描述】:

我在 Matlab 中遇到了以下问题:

假设我们有两个大小相同的矩阵 AB,其中每一行 (m) 表示一段时间内的数据集 ( n)。矩阵A 包含参考数据,矩阵B 包含要测试的数据。我现在想使用

计算 AB 中每个行组合之间的相对距离
d(m_i,m_j) = sqrt(sum((A(m_x,:)-B(m_y,:).^2))

通过 for 循环解决这个问题会导致

for m_x = 1:size(A,2)
    for m_y = 1:size(A,2)
        d(m_i,m_j) = sqrt(sum((A(m_i,:)-B(m_j,:).^2));
    end
end

有没有更优雅(也许更快)的方法?

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    是的,有。你可以使用pdist2(见doc):

    d = pdist2(A,B);
    

    条目d(m,n)A(m,:)B(n,:) 之间的距离。

    【讨论】:

    • 正是我想要的!谢谢,伙计!
    猜你喜欢
    • 2018-12-02
    • 1970-01-01
    • 2017-01-13
    • 2011-09-21
    • 1970-01-01
    • 2022-11-21
    • 2016-11-29
    • 2018-06-14
    • 1970-01-01
    相关资源
    最近更新 更多