如何将字符串重新排列为矩阵?
How to rearrange a string as a matrix?
我的系统中有 MATLAB R2012b。因此 R2014b 的通信系统工具箱在那里不可用。我无法评估 de2bi() 函数。 dec2bin() 在那里可用。
假设dec2bin(2,9) = 000000010,这是一个包含9位数字的字符串。现在我想得到 000000010 作为长度为 9 的向量,我可以重塑 $3 \times3$ 的矩阵以将其用于进一步的数学计算。我该怎么做?
只需减去 '0'
(或 48
,这是 '0'
的 ASCII),然后减去 reshape
。这是有效的,因为从 char
中减去一个数字,甚至 char
会将其转换为对应于其 ASCII 代码的 double
。
>> reshape(dec2bin(2,9)-'0',3,3)
ans =
0 0 0
0 0 1
0 0 0
或
>> reshape(dec2bin(2,9)-'0',3,3).'
ans =
0 0 0
0 0 0
0 1 0
我的系统中有 MATLAB R2012b。因此 R2014b 的通信系统工具箱在那里不可用。我无法评估 de2bi() 函数。 dec2bin() 在那里可用。
假设dec2bin(2,9) = 000000010,这是一个包含9位数字的字符串。现在我想得到 000000010 作为长度为 9 的向量,我可以重塑 $3 \times3$ 的矩阵以将其用于进一步的数学计算。我该怎么做?
只需减去 '0'
(或 48
,这是 '0'
的 ASCII),然后减去 reshape
。这是有效的,因为从 char
中减去一个数字,甚至 char
会将其转换为对应于其 ASCII 代码的 double
。
>> reshape(dec2bin(2,9)-'0',3,3)
ans =
0 0 0
0 0 1
0 0 0
或
>> reshape(dec2bin(2,9)-'0',3,3).'
ans =
0 0 0
0 0 0
0 1 0