Borrar filtros
Borrar filtros

xoring bits within a vector

15 visualizaciones (últimos 30 días)
emad
emad el 14 de Oct. de 2014
Editada: emad el 14 de Oct. de 2014
hi every one.... i'm having a binary matrix with [101101110011 ; 100110110101 ; 011110011001 ; 111100010010] and i want to XOR bit1 with bit3 , bit4 with bit6, bit 7 with bit9, bit 10 with bit 12 for the whole matrix, i try to loop it but it didn't work... help needed
  1 comentario
Guillaume
Guillaume el 14 de Oct. de 2014
Is your matrix an n x 12 char array, a cell array of strings, or something else.
Assuming your matrix is called m, can you show the output of
whos m

Iniciar sesión para comentar.

Respuesta aceptada

Thorsten
Thorsten el 14 de Oct. de 2014
Use space between the the 1's and 0's
M = [1 0 1 1 0 1 1 1 0 0 1 1 ; 1 0 0 1 1 0 1 1 0 1 0 1 ; 0 1 1 1 1 0 0 1 1 0 0 1 ; 1 1 1 1 0 0 0 1 0 0 1 0];
xor(M(:, 1:3:end), M(:, 3:3:end))
  1 comentario
emad
emad el 14 de Oct. de 2014
Editada: emad el 14 de Oct. de 2014
thanks Thorsten you save my day one more thing, what if i want to xor every three bits together?

Iniciar sesión para comentar.

Más respuestas (2)

Guillaume
Guillaume el 14 de Oct. de 2014
Assuming your matrix is an n x 12 char array, and assuming bit 1 is the first bit on the left.
m = ['101101110011' ; '100110110101' ; '011110011001' ; '111100010010'];
mnum = m - '0'; %convert the strings into a matrix of 0/1 integers
mnxor = xor(mnum(:, [1 4 7 10]), mnum(:, [3 6 9 12])); %perform the xor. Change each array for specific bits.
mxor = char(mnxor + '0'); %convert back into a char array

emad
emad el 14 de Oct. de 2014
Editada: emad el 14 de Oct. de 2014
dear Guillaume thanks very much your code works very good...

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by