Nói rằng tôi có một ma trận a = [1 2 3 4 5 6];
, làm thế nào để định hình lại nó một cách hàng khôn ngoan ví dụ reshape(a, 2, 3)
để mangReshape MATLAB vector theo cách Row-khôn ngoan
1 2 3
4 5 6
chứ không phải là kết quả cột khôn ngoan mặc định được MATLAB tạo ra:
1 3 5
2 4 6
Tôi tin rằng đây là một nhiệm vụ tầm thường có thể có chức năng sẵn có để đạt được điều này. Tôi đã thực hiện một chức năng mà thực hiện điều này một cách hoàn hảo ... tuy nhiên, có một cách ngắn hơn, neater và nhiều hơn nữa MATLAB? Cảm ơn.
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
Chúc mừng để xóa câu hỏi của bạn ngay bây giờ - Tôi vừa dành 10 phút để chuẩn bị câu trả lời . Tôi có thể hữu ích cho người khác. (Tôi nghĩ đó là một câu hỏi hay). –
Tôi sẽ đăng lại câu hỏi sau đó @MatthewTaylor – Mortada