making a 341x341 matrix from a 465124x1 matrix.

3 views (last 30 days)
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 Comments
Titus Edelhofer
Titus Edelhofer on 21 May 2012
But 341*341 gives 116281, not 465124 ...?
Jan
Jan on 21 May 2012
Titus, this is a surprising detail.

Sign in to comment.

Accepted Answer

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

Sign in to comment.

More Answers (1)

Thomas
Thomas on 21 May 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)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!