假设我有一个矩阵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)