Splitting up a vector into a matrix

40 Ansichten (letzte 30 Tage)
Bran
Bran am 17 Sep. 2014
Bearbeitet: José-Luis am 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

Akzeptierte Antwort

José-Luis
José-Luis am 17 Sep. 2014
Bearbeitet: José-Luis am 17 Sep. 2014
data = rand(3);
result = reshape(data,3,3)';
  3 Kommentare
José-Luis
José-Luis am 17 Sep. 2014
Yes, please read the documentation on reshape().
Please accept the answer that best solves your problem.
Laura
Laura am 17 Sep. 2014
Bearbeitet: Laura am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Kategorien

Mehr zu Creating and Concatenating 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!

Translated by