我有一个矢量,说x = [1 1.5 2]
。我想计算该向量与向量的随机排列之间的预期距离。假设所有排列都是同等可能的。
对于上面的示例,解决方案应为4/9
。第一个元素平均更改1/2
,第二个元素平均更改1/3
,最后一个元素更改1/2
。因此,平均变化为4/9
。
问题是这个载体有大约50-100个条目。有没有一种聪明的方法来计算这个预期的距离?
答案 0 :(得分:3)
我现在正在使用mean(mean(abs(bsxfun(@minus,x,x'))))
,这似乎可以解决问题。
答案 1 :(得分:3)
bsxfun
无法提供最快解决方案的极少数情况之一。如果要使用对称性,请使用pdist
s=sum(pdist(x,'cityblock'))/numel(x).^2*2