Filter löschen
Filter löschen

making a 341x341 matrix from a 465124x1 matrix.

1 Ansicht (letzte 30 Tage)
Jeroen
Jeroen am 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 Kommentare
Titus Edelhofer
Titus Edelhofer am 21 Mai 2012
But 341*341 gives 116281, not 465124 ...?
Jan
Jan am 21 Mai 2012
Titus, this is a surprising detail.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Thomas
Thomas am 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)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by