Matlab:如何实现L1距离计算的矢量化版本

时间:2016-12-01 23:18:38

标签: matlab hamming-distance

我想计算非常高维度的矢量之间的汉明距离。数据点是称为要素的向量。假设每个组件f_i为整数,它以具有j位的二进制形式表示。每个数据点都有n = 900个要素组件。问题的表述是

Problem

下面的图片中给出了j = number of bits

中2个不同向量之间汉明距离的公式

formula

对于ex n = 10功能组件,

f = [3,4,1,4,5,6,6,7,1,14];
g = [1,3,5,6,7,8,11,3,10,2];

数组的每个组件/元素由其使用dec2bin(f_i,l)

的16位二进制表示表示

我尝试使用dist = sum((f-g).^2,2)* 1/2^l,其中l = 16位,但这没有意义,因为公式中有2个求和。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你想要的是

sum(bitxor(f,g))/2^l

其中l=16