如何将字符串重新排列为矩阵?

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