1. 两个数据矩阵 fea_a, fea_b 均为: N*d matrix, 现需要计算两组数据之间的欧氏距离(组间任意两点的距离),计算方法如下:
aa = sum(fea_a.*fea_a,2);
bb = sum(fea_b.*fea_b,2);ab = fea_a*fea_b';
if issparse(aa)
aa = full(aa);
bb = full(bb);
end
D = bsxfun(@plus,aa,bb') - 2*ab;
D(D<0) = 0;
if bSqrt
D = sqrt(D);
end
D即是输出
---摘自deng cai 代码