Splitting up a vector into a matrix

40 views (last 30 days)
Bran
Bran on 17 Sep 2014
Edited: José-Luis on 17 Sep 2014
Is there a sophisticated way of doing the following;
I have a vector = [ 1 ; 2 ; 3 ; 4 ; 6 ; 10 ; 3 ; 5 ; 3 ]
I would like to put this into another matrix so that; NEW MATRIX = [1 2 3; 4 6 10; 3 5 3];
Many thanks

Accepted Answer

José-Luis
José-Luis on 17 Sep 2014
Edited: José-Luis on 17 Sep 2014
data = rand(3);
result = reshape(data,3,3)';
  3 Comments
José-Luis
José-Luis on 17 Sep 2014
Yes, please read the documentation on reshape().
Please accept the answer that best solves your problem.
Laura
Laura on 17 Sep 2014
Edited: Laura on 17 Sep 2014
B = reshape(A,m,n) or B = reshape(A,[m n]) returns the m-by-n matrix B whose elements are taken column-wise from A. An error results if A does not have m*n elements.

Sign in to comment.

More Answers (1)

Roger Stafford
Roger Stafford on 17 Sep 2014
new = reshape(v,sqrt(length(v)),[]).'; % <-- The transpose is needed

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!