MATLAB中某些向量与参考向量的平均距离

时间:2013-09-16 08:03:14

标签: matlab distance vectorization

我有一个n×k矩阵,我想从参考1×k向量得到n个向量的平均距离。我可以在norm(v(i, :) - test)循环中使用for来完成,但是有没有最小的解决方案呢?

3 个答案:

答案 0 :(得分:5)

您可以使用PDIST2功能:

mean(pdist2(X,test))

或者如果您无法访问统计工具箱:

mean(sqrt(sum(bsxfun(@minus, X, test).^2,2)))

答案 1 :(得分:2)

另一种可能性是使用pdist2计算两组观测值之间的距离。

d = pdist2( v, test );
mean( d )

答案 2 :(得分:1)

您可以使用

获取所有距离
d = bsxfun(@minus, v, test);
d = sqrt( sum( d.^2, 2 ) ); % distance of each vector from test
mean( d )