Reshaping Multiple Matrices

12 views (last 30 days)
robin mooney
robin mooney on 3 Feb 2011
Hi,
I am trying to reshape 1081 column vectors (size 49x1 each) using a for loop.
I know the loop needs to go from i=1 to i=1081. And the reshape command should look something like this;
T1= reshape(T1,7,7)
However I cannot seem to figure the correct loop for this.
The column vectors are named T0, T1, T3, .... , T1079, T1080.
Can anyone help me with this?
Many thanks
robin ----- Dublin Institute of Technology

Answers (2)

Sean de Wolski
Sean de Wolski on 3 Feb 2011
  2 Comments
robin mooney
robin mooney on 3 Feb 2011
thanks Sean. This info was indeed helpful!
However I am having trouble applying a formula to reshape the matrices within the loop. I tried T(i)=reshape(T(i),7,7) within the loop but it is not working. I'm a little fresh to matlab so excuse my ignorance if i am doing something simple wrong!
thanks
robin
the cyclist
the cyclist on 3 Feb 2011
For the index, use curly bracket T{i} rather than parentheses.

Sign in to comment.


the cyclist
the cyclist on 3 Feb 2011
Also, if you can concatenate all your original vectors into one large array, then you can do the reshape in one fell swoop:
>> T = rand(1081,49); % Size of all your vectors, concatenated
>> Tr = reshape(T,[7,7,1081]); % Each slice in 3rd dim is one of your 7x7
  1 Comment
robin mooney
robin mooney on 7 Feb 2011
thanks cyclist! I will try this out!!

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!