# How to concatenate binary strings?

17 views (last 30 days)
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...

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

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 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
Ammy on 8 Mar 2022
Very thankful to all of you for the valuable comments.