首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

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

2012-02-22 
100分求助,matlab一维矩阵变成二维矩阵,怎么感觉我写的代码这么绕呢希望把Input矩阵(一维)变成3行4列的二

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循环也行

热点排行