Reshape by rows instead of columns
54 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Adam Fitchett
il 8 Mar 2022
Commentato: Amr Aboughazala
il 29 Ago 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 Commenti
Risposta accettata
Max Alger-Meyer
il 8 Mar 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 Commenti
Bruno Luong
il 29 Ago 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!