Elegant way of "sending to the next row" in a matrix
    5 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  Anthony Poulin
      
 on 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
More Answers (1)
  Anthony Poulin
      
 on 10 Sep 2015
        Hello,
Do you try to use the "reshape" function?
2 Comments
  Hamoon
      
 on 10 Sep 2015
				
      Edited: Hamoon
      
 on 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
See Also
Categories
				Find more on Creating and Concatenating Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


