HAMMING DISTANCE IN ONE ARRAY

1 次查看(过去 30 天)
Hello,
i have a 1000x19 double array.
The first column is the product id and from the second column until the 19 column there is only 1 and 0s.
Ex:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
15 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1
27 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0 0
I want to find the binary for a certain product id compare it with the rest binary sets and find the product that is closer to the first one.
Sorry about my english i hope i was clear :)
Thanks

回答(1 个)

Andrei Bobrov
Andrei Bobrov 2012-5-30
eg:
data = [1:19;randi([15 27],6,1),randi([0 1],6,18)];
[n,m] = size(data);
num = data(2:end,2:end)*(2.^(m-2:-1:0)');
[ii,ii] = sort(abs(num - num(1)));
out = data(ii(2),:);
  1 个评论
Panayiotis Christodoulou
i try to test this answer but i get the following error:
Subscript indices must either be real positive integers or logicals.
1:19 starts from 1 ? i want it to start from 2 .
thanks

请先登录,再进行评论。

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by