How to concatenate binary strings?

13 views (last 30 days)
Ammy
Ammy on 8 Mar 2022
Commented: Ammy on 8 Mar 2022
I have binary data 8192x8 char
'00000010'
'01101111'
'00111001'
'00111111'
'11010110'
'01000110'
'10100010'
.......
I want to cocatenate (1:32) , (33:64), (65:96),.... strings
Let first string be a='00000010',
second string be b= '01101111'
strcat(a,b) results '0000001001101111',
But I want to concatenate first 32 strings and so on...

Accepted Answer

David Hill
David Hill on 8 Mar 2022
A=A';
A=reshape(A,256,[]);%each column will now be your desired arrays, you could transpose again if you wanted rows being your desired arrays

More Answers (2)

Benjamin Thompson
Benjamin Thompson on 8 Mar 2022
Edited: Benjamin Thompson on 8 Mar 2022
Something like this. Just change the size arguments passed to reshape as needed:
A = [ '00000010'
'01101111'
'00111001'
'00111111'
'11010110'
'01000110'
'10100010'];
A = [A; '11111111'];
A = [A; A; A; A];
A2 = reshape(A(:),8,32)
A2 =
8×32 char array
'00000000000000000000000011110000'
'00001111111100001111111111111111'
'00000000111111111111000000001111'
'00000000111111111111111111111111'
'11111111000011110000111111110000'
'00001111000000000000111111110000'
'11110000111100000000000011110000'
'11111111111111111111111111111111'

Jan
Jan on 8 Mar 2022
Edited: Jan on 8 Mar 2022
s = char('0' + randi([0,1], 8192, 8)); % Some test data
r = reshape(s.', 32 * 8, []).'; % Create a 256 x 256 matrix
  1 Comment
Ammy
Ammy on 8 Mar 2022
Very thankful to all of you for the valuable comments.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!