重塑2D数组matlab

时间:2014-03-16 16:32:07

标签: matlab binary multidimensional-array reshape

我有一个很长的二进制字符串,我想在matlab中转换为n * 8维矩阵。

我尝试使用reshape()但它按列方式工作,我无法获得输出,因为它按列方式工作而不是行方式。

我想转换它:

011000010110111001100101011001010111001101101000

到此:

01100001

01101110

01100101

01100101

01110011

01101000

是否有任何内置方法可以逐行工作,或者这个愚蠢的问题是否有解决办法? PS:我尝试使用“转置”,但它给了我一个我不想要的8 * 6矩阵。

2 个答案:

答案 0 :(得分:2)

<强>代码

str = '011000010110111001100101011001010111001101101000';
reshape(str',8,[])'

<强>输出

01100001
01101110
01100101
01100101
01110011
01101000

答案 1 :(得分:1)

如果你有通讯工具箱,你也可以使用vec2mat,它按行方式工作:

str = '011000010110111001100101011001010111001101101000';
result = vec2mat(str,8);