Create a new matrix with the for loop

1 view (last 30 days)
Sophia
Sophia on 19 Jun 2018
Answered: Dennis on 20 Jun 2018
w_u = zeros(361,361,252);
w_v = zeros(361,361,252);
ind = 10:16;
for t = 1:length(nu1) %nu1 and nv1 are 361*361*436 in size
if t <=36
%the months required in the analysis are 252
w_u = nu1(1:361,1:361,ind);
*Here is the problem, i understand every time the loop iterates it creates a matrix of the size 361*361*7. I am not sure how to save this matrix and keep adding on to the same matrix until i have the required matrix of the size 361*361*252*
tu(:,:,t:t+6) = w_u;
w_v = nv1(1:361,1:361,ind);
tv(:,:,t+6) = w_v;
% end
ind = ind+12;
else
end
end
  4 Comments
Stephen23
Stephen23 on 20 Jun 2018
@Dennis: you should put that as an answer.
Sophia
Sophia on 20 Jun 2018
Edited: Stephen23 on 20 Jun 2018
@Dennis: Yes, you interpreted it correctly. and Thank you,that's the right answer. Can you post it as answer so i can accept this

Sign in to comment.

Accepted Answer

Dennis
Dennis on 20 Jun 2018
If (big if) i interpreted your code right you are trying to do something like this:
w_u = zeros(361,361,252);
w_v = zeros(361,361,252);
ind=10:16;
for t= 1:36 %252/7=36
idx =(t-1)*12+ind;
w_u(:,:,(t-1)*7+(1:7)) = nu1(:,:,idx);
w_v(:,:,(t-1)*7+(1:7)) = nv1(:,:,idx);
end
Glad i could help :)

More Answers (0)

Categories

Find more on Dates and Time 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!