当前位置: 代码迷 >> 其他开发语言 >> 100分,matlab一维矩阵变成二维矩阵,如何感觉小弟我写的代码这么绕呢
  详细解决方案

100分,matlab一维矩阵变成二维矩阵,如何感觉小弟我写的代码这么绕呢

热度:5523   发布时间:2013-02-26 00:00:00.0
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循环也行
  相关解决方案