How to compute number of bit change among consecutive binary numbers?
    3 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
I am having 7 random binary numbers of 3 bit. Now, I need to compute how many number of bits are changed among consecutive numbers.
Example:
A= 110; 101; 011; 111; 100; 001; 010
Expected output:
C=    
        110    101    011    111    100    001    010
110    -         2        2        1        1        3        1    
101    2        -         2        1        1        1        3    
011    2        2        -         1        3        2        1
111    1        1        1         -        2        2         2
100    1        1        3        2        -         2        2
001    3        1        1        2        2        -         2
010    1        3        1        2        2        2        -
0 Kommentare
Antworten (2)
  Voss
      
      
 am 14 Dez. 2022
        % A = 110; 101; 011; 111; 100; 001; 010
A = dec2bin([6; 5; 3; 7; 4; 1; 2],3)
N = size(A,1);
C = zeros(N);
for ii = 1:N
    for jj = 1:N
        C(ii,jj) = nnz(A(ii,:) ~= A(jj,:));
    end
end
disp(C);
10 Kommentare
  Star Strider
      
      
 am 15 Dez. 2022
        b = {'110'    '101'    '011'    '111'    '100'    '001'    '010'};
d = pdist(b, 'hamming');
dmtx = squareform(d*3);                                             % Differences Are Reported As Percentages, So Multiply By The Length Of The Strings To Get Integers
VNRN = cellfun(@(x)sprintf('%s',x),b, 'Unif',0);
Result = array2table(dmtx, 'VariableNames',VNRN, 'RowNames',VNRN)   % Create A 'table' To Get  The Desired Result
The variable names and row names do not have to be valid MATLAB variable names, however if you want to use them as such, change the ‘VNRN’ function to: 
VNRN = cellfun(@(x)sprintf('%_s',x),b, 'Unif',0);
or something similar so that they all begin with a non-numeric character.  
.
2 Kommentare
Siehe auch
Kategorien
				Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



