读书人

100分matlab一维矩阵变成二维矩阵

发布时间: 2012-02-22 19:36:55 作者: rapoo

100分求助,matlab一维矩阵变成二维矩阵,怎么感觉我写的代码这么绕呢


希望把Input矩阵(一维)变成3行4列的二维矩阵Output;我写了下面的代码可行,但是感觉这么绕呢,还得转置来转置去的。有好的办法吗

Input= [ -1 -1 0 2 -3 -1 0 4 -3 -1 1 3];

%Out= [ -1 -1 0 2; -3 -1 0 4; -3 -1 1 3];

M=3;N=4;
Out=reshape(Input',N,M);
Out=Out';


[解决办法]

探讨
那就转置一次吧,Matlab是column major的,你输入的input和最后结果看需要row major,所以一次转置是必须的


C/C++ code
>> Input= [ -1 -1 0 2 -3 -1 0 4 -3 -1 1 3];
>> out = reshape(Input,3,4)
out =
-1 2 0 -1
-1 ……

[解决办法]
麻烦点的自己写个for循环也行

读书人网 >其他开发语言

热点推荐