making a 341x341 matrix from a 465124x1 matrix.

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

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

1 Stimme

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

2 Stimmen

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

Community Treasure Hunt

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

Start Hunting!

Translated by