假设我有一个矩阵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