以行方式重塑MATLAB向量

Sle*_*der 16 algorithm matlab

假设我有一个矩阵a = [1 2 3 4 5 6];,我如何以行方式重塑它,例如 reshape(a, 2, 3)屈服

1 2 3 
4 5 6
Run Code Online (Sandbox Code Playgroud)

而不是MATLAB生成的默认列式结果:

1 3 5 
2 4 6
Run Code Online (Sandbox Code Playgroud)

我相信这是一项微不足道的任务,它可能具有内置功能来实现这一目标.我已经实现了一个完美的功能......然而,是否有更短,更整洁,更多的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
Run Code Online (Sandbox Code Playgroud)

fne*_*ery 22

这个怎么样?

reshape(a, 3, 2)'