Matlab 计算两个矩阵中各行组合之间的距离

Matlab 计算两个矩阵中各行组合之间的距离,matlab,matrix,Matlab,Matrix,我在Matlab中遇到了以下问题: 让我们假设有两个大小相同的矩阵A和B,其中每一行(m)表示一段时间(n)内的数据集。矩阵A包含参考数据,矩阵B包含待测数据。现在,我想使用 通过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 有没有更优雅(也许更快)的方法呢?是的,有。您可以使用pdi

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

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

通过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

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

是的,有。您可以使用
pdist2
(请参阅):


条目
d(m,n)
A(m,:)
B(n,:)
之间的距离,这正是我想要的!谢谢,伙计!
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
d = pdist2(A,B);