Effacer les filtres
Effacer les filtres

making a 341x341 matrix from a 465124x1 matrix.

1 vue (au cours des 30 derniers jours)
Jeroen
Jeroen le 21 Mai 2012
Hello everybody,
I have a matrix that is 465124x1. From this matrix I want every 341 values put in another matrix. so the values from 1-341 is the first column and than the values from 342-683 is the second column etc. This should yield a 341x341 matrix.
It gives a 341x341 matrix but just with the values from 1-341 from the orginal matrix. Here is my code:
for i = 1:341:465124
for p = 1:1:341
a = i+340;
kolom(:,p) = value(i:a,1);
end
end
I do not know what i am doing wrong so please help.
Thank you!
  2 commentaires
Titus Edelhofer
Titus Edelhofer le 21 Mai 2012
But 341*341 gives 116281, not 465124 ...?
Jan
Jan le 21 Mai 2012
Titus, this is a surprising detail.

Connectez-vous pour commenter.

Réponse acceptée

Andreas Goser
Andreas Goser le 21 Mai 2012
Sounds like you are looking for the RESHAPE command.
  1 commentaire
Jeroen
Jeroen le 21 Mai 2012
okay thank you I tried the reshape function and it works now

Connectez-vous pour commenter.

Plus de réponses (1)

Thomas
Thomas le 21 Mai 2012
465124/(341*341)=4
You will get 4 341*341 matrices from one 465124 matrix..
You could try
% a is your 465214x1 matrix
b=reshape(a,341,341,[]) % this will give u a 3 dimensional matrix of size (341*341*4)

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