Azzera filtri
Azzera filtri

making a 341x341 matrix from a 465124x1 matrix.

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Titus Edelhofer
Titus Edelhofer il 21 Mag 2012
But 341*341 gives 116281, not 465124 ...?
Jan
Jan il 21 Mag 2012
Titus, this is a surprising detail.

Accedi per commentare.

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

Thomas
Thomas il 21 Mag 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)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by