making a 341x341 matrix from a 465124x1 matrix.

3 visualizaciones (últimos 30 días)
Jeroen
Jeroen el 21 de Mayo de 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 comentarios
Titus Edelhofer
Titus Edelhofer el 21 de Mayo de 2012
But 341*341 gives 116281, not 465124 ...?
Jan
Jan el 21 de Mayo de 2012
Titus, this is a surprising detail.

Iniciar sesión para comentar.

Respuesta aceptada

Andreas Goser
Andreas Goser el 21 de Mayo de 2012
Sounds like you are looking for the RESHAPE command.
  1 comentario
Jeroen
Jeroen el 21 de Mayo de 2012
okay thank you I tried the reshape function and it works now

Iniciar sesión para comentar.

Más respuestas (1)

Thomas
Thomas el 21 de Mayo de 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)

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