Tag: euclidean

在MATLAB版本7中相当于pdist2

我需要计算matlab中2个matrix之间的欧式距离。 目前我使用bsxfun和计算距离如下(我附上一段代码): for i=1:4754 test_data=fea_test(i,:); d=sqrt(sum(bsxfun(@minus, test_data, fea_train).^2, 2)); end fea_test的大小是4754×1024,fea_train是6800×1024,使用for循环导致执行for花了大约12分钟,我认为这太高了。 有没有办法计算两个matrix之间的欧氏距离更快? 我被告知,通过删除不必要的循环,我可以减less执行时间。 我也知道,pdist2可以帮助减less计算时间,但是因为我使用的是matlab版本7,所以没有pdist2函数。 升级不是一个选项。 任何帮助。 问候, 巴维亚