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 件のコメント

Guillaume
Guillaume 2014 年 10 月 14 日
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

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

 採用された回答

Thorsten
Thorsten 2014 年 10 月 14 日

1 投票

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 件のコメント

emad
emad 2014 年 10 月 14 日
編集済み: emad 2014 年 10 月 14 日
thanks Thorsten you save my day one more thing, what if i want to xor every three bits together?

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

その他の回答 (2 件)

Guillaume
Guillaume 2014 年 10 月 14 日

0 投票

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 2014 年 10 月 14 日
編集済み: emad 2014 年 10 月 14 日

0 投票

dear Guillaume thanks very much your code works very good...

カテゴリ

ヘルプ センター および File ExchangeNumeric Types についてさらに検索

質問済み:

2014 年 10 月 14 日

編集済み:

2014 年 10 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by