说我有一个矩阵a = [1 2 3 4 5 6];
,我该如何重塑它在例如 reshape(a, 2, 3)
逐行方式产生重塑MATLAB矢量
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
干杯删除你的问题刚才 - 我刚刚花了10分钟准备一个答案。我可能对别人有用。 (我认为这是一个很好的问题)。 –
哦,我会重新发布这个问题,然后@MatthewTaylor – Mortada