Matlab / Octave中矩阵两列之间的最大欧氏距离
Max Euclidean distance between two columns of a matrix in Matlab / Octave
我需要为程序计算在 Octave 中放在矩阵 A
中的向量的最大欧几里得距离。
我目前拥有的:
for i=1:n
for k=i:n+1
C=A(:,i)-A(:,k);
maxdiff=max(norm(C),maxdiff);
endfor
endfor
这不起作用,我不知道为什么。感谢您的帮助!
您可以使用统计工具箱/包中的pdist
:
A = rand(3,4); % example data
maxdiff = max(pdist(A.'));
或者,手动:
d = sum(bsxfun(@minus, A, permute(A, [1 3 2])).^2, 1);
maxdiff = sqrt(max(d(:)));
我需要为程序计算在 Octave 中放在矩阵 A
中的向量的最大欧几里得距离。
我目前拥有的:
for i=1:n
for k=i:n+1
C=A(:,i)-A(:,k);
maxdiff=max(norm(C),maxdiff);
endfor
endfor
这不起作用,我不知道为什么。感谢您的帮助!
您可以使用统计工具箱/包中的pdist
:
A = rand(3,4); % example data
maxdiff = max(pdist(A.'));
或者,手动:
d = sum(bsxfun(@minus, A, permute(A, [1 3 2])).^2, 1);
maxdiff = sqrt(max(d(:)));