How to reshape a matrix from a vector?

2 vues (au cours des 30 derniers jours)
TRAILOKYA
TRAILOKYA le 14 Oct 2014
I have a vector of 105 elements where the sizes are not compatible for a matrix. I want to make it a 2 dimensional matrix by adding zeros at last so that it becomes compatible for the matrix. Would you please tell me how can i do it?

Réponse acceptée

Thorsten
Thorsten le 14 Oct 2014
Modifié(e) : Thorsten le 14 Oct 2014
If, e.g., 200 is the desired size, just use
vec(200) = 0;
All values between 105 and 200 will be filled with zeros.
  1 commentaire
John
John le 14 Oct 2014
Hello, use the reshape command.
Consider that your matrix has to be m x n (rows x columns) = total number of elements. Then do what Thorsten says vec(totalNumberOfElements) = 0, then
Matrix = reshape(vec,m,n).
Remember that rows run faster than columns... That is, the elements will be ordered in a row fashion way.

Connectez-vous pour commenter.

Plus de réponses (1)

Sean de Wolski
Sean de Wolski le 14 Oct 2014
Modifié(e) : Sean de Wolski le 14 Oct 2014
If you want a 100x2 from a 105 element vector, padding with zeros, this should do it:
buffer(1:105,100)

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