假设我有一个矩阵 a= [1 3; 4 2],我使用这段代码将这个矩阵转换为二进制格式:
a=magic(2)
y=dec2bin(a,8)
e=str2num(y(:))';
结果是:
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
现在,当我想取回原始矩阵时,我会反转函数:
s=num2str(e(:))';
r=bin2dec(s)
我得到的结果是:
r =
1082
我该怎么做才能得到原始矩阵?不是数字 提前谢谢你
请您参考如下方法:
您正在执行破坏原始结构的额外进程:
a=magic(2)
y=dec2bin(a,8)
r=bin2dec(y)
这里 r 是你的答案,因为 y 已经删除了 a 的矩阵结构。要重新创建矩阵,您需要:
originalmatrix = reshape(r,size(a))
originalmatrix =
1 3
4 2