Splitting up a vector into a matrix

75 visualizaciones (últimos 30 días)
Bran
Bran el 17 de Sept. de 2014
Editada: José-Luis el 17 de Sept. de 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

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (1)

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

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by