Convert binary values to a decimal matrix

1 view (last 30 days)
Hello, Suppose that I have a matrix a= [1 3; 4 2], I convert this matrix to binary format using this code:
a=magic(2)
y=dec2bin(a,8)
e=str2num(y(:))';
The result is :
y =
00000001
00000100
00000011
00000010
e =
Columns 1 through 17
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Columns 18 through 32
0 0 0 0 1 0 0 0 0 1 1 1 0 1 0
Now when I want to get back my original matrix I inverse the function : s=num2str(e(:))'; r=bin2dec(s)
The results I got is:
r =
1082
What can I do to get the orignal matrix? not a number Thank you in advance

Accepted Answer

Thorsten
Thorsten on 2 Dec 2015
aback = reshape(bin2dec(num2str(reshape(e, 4, []))), 2, 2);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!