Reshape by rows instead of columns
58 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Adam Fitchett
am 8 Mär. 2022
Kommentiert: Amr Aboughazala
am 29 Aug. 2022
I have a 1260 by 1 column vector (myVector) that I want to reshape to a 35*36 matrix. However, I can't figure out how to reshape it the particular way that I want:
reshape(myVector,35,36) takes each successive chunk of 35 elements from myVector and makes them the 36 columns of the new matrix. But I want to take each successive chunk of 36 elements from myVector and make each chunk the 35 rows of the new matrix. How do I do this?
0 Kommentare
Akzeptierte Antwort
Max Alger-Meyer
am 8 Mär. 2022
If I understand you correctly, all you need to do is transpose the reshaped result:
vector = 1:16
array1 = reshape(vector,4,4)
transpose(array1)
5 Kommentare
Bruno Luong
am 29 Aug. 2022
@Amr Aboughazala "taking the transpose won't give the first answer"
because you take transpose on a wrong reshape.
The correct one is
x = [0,1,2,3,4,5];
reshape(x,[2,3])' % size is [2,3] not [3,2]
It does fine.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!