Скажем, у меня есть матрицу a = [1 2 3 4 5 6];
, как мне изменить его форму в строчном образом, например reshape(a, 2, 3)
с получениемReshape 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