假设我有一个1-by-12矩阵,我想将其调整为4-by-3矩阵。我怎么能这样做呢?
我当前的解决方案有点丑陋:
for n = 1:(length(mat)/3)
out(n,1:3) = mat( ((n-1)*3 + 1):((n-1)*3 + 3) );
end
有一个更好的方法吗?
reshape
当然是正确的解决方案,如所述@gnovice https://stackoverflow.com/a/793581/5211833.
一个不错的功能reshape
是它允许这样做:
A = 1:12;
B = reshape(A,4,[]);
B =
1 5 9
2 6 10
3 7 11
4 8 12
所以如果你不知道会有多少列,reshape
将为您计算。同样地,reshape
如果您省略的话,将填写行数。
C = reshape(A,[],4)
C =
1 4 7 10
2 5 8 11
3 6 9 12
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)