假设我有两个矩阵 Nx2, Mx2 分别代表 N, M 2d 向量。有没有一种简单而好的方法来计算每个向量对(n,m)之间的距离?
简单但低效的方法当然是:
d = zeros(N, M);
for i = 1:N,
for j = 1:M,
d(i,j) = norm(n(i,:) - m(j,:));
endfor;
endfor;
我找到的最接近的答案是bsxfun
,像这样使用:
bsxfun(inline("x-y"),[1,2,3,4],[3;4;5;6])
ans =
-2 -1 0 1
-3 -2 -1 0
-4 -3 -2 -1
-5 -4 -3 -2