HAMMING DISTANCE IN ONE ARRAY

1 回表示 (過去 30 日間)
Panayiotis Christodoulou
Panayiotis Christodoulou 2012 年 5 月 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
Panayiotis Christodoulou 2012 年 5 月 30 日
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

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeHamming についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by