Splitting up a vector into a matrix

42 vues (au cours des 30 derniers jours)
Bran
Bran le 17 Sep 2014
Modifié(e) : José-Luis le 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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (1)

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

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by