Elegant way of "sending to the next row" in a matrix
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Matt
am 10 Sep. 2015
Bearbeitet: Stephen23
am 10 Sep. 2015
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 Kommentare
Akzeptierte Antwort
Anthony Poulin
am 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
Weitere Antworten (1)
Anthony Poulin
am 10 Sep. 2015
Hello,
Do you try to use the "reshape" function?
2 Kommentare
Hamoon
am 10 Sep. 2015
Bearbeitet: Hamoon
am 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
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!