Elegant way of "sending to the next row" in a matrix
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I have a 1x36 matrix that I want to cut in bits. In my specific case I want to obtain a 6x6 matrix from this 1x36 matrix. Every 6 column of the original 1x36 matrix I want to go to a next row.
How can I do this in an elegant way?
Thanks!
0 commentaires
Réponse acceptée
Anthony Poulin
le 10 Sep 2015
I have not the same result and using a transpose I think that I get what you want.
A=1:10;
B=reshape(A, [5,2])'
So, B =
1 2 3 4 5
6 7 8 9 10
Plus de réponses (1)
Anthony Poulin
le 10 Sep 2015
Hello,
Do you try to use the "reshape" function?
2 commentaires
Hamoon
le 10 Sep 2015
Modifié(e) : Hamoon
le 10 Sep 2015
B=reshape(A,[5,2])
means B will be a (5*2) matrix, you're doing something wrong Matt, just clear your workspace variables and try again. as Anthony said you'll get the result you want using:
A=1:10;
B=reshape(A,[5,2]);
C=B';
C is what you want, and B is a (5*2) matrix
B =
1 6
2 7
3 8
4 9
5 10
C =
1 2 3 4 5
6 7 8 9 10
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!