假设我有一个矩阵 a = [1 2 3 4 5 6];
,例如,我如何以逐行方式 reshape 它
reshape(a, 2, 3)
产生
1 2 3
4 5 6
而不是 MATLAB 生成的默认按列结果:
1 3 5
2 4 6
我相信这是一个微不足道的任务,可能有一个内置的功能来实现这一点。我已经实现了一个完美地完成此任务的函数......但是,是否有更短、更整洁和更 MATLAB 的方式?谢谢。
function y = reshape2(x, m, n)
y = zeros(m, n);
ix = 0;
for i = 1:m
for j = 1:n
ix = ix + 1;
y(i, j) = x(ix);
end
end
end
最佳答案
这个怎么样?
reshape (a, 3, 2)'
关于algorithm - 以行方式 reshape MATLAB 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16592386/