Create a new matrix with the for loop

4 Ansichten (letzte 30 Tage)
Sophia
Sophia am 19 Jun. 2018
Beantwortet: Dennis am 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 Kommentare
Stephen23
Stephen23 am 20 Jun. 2018
@Dennis: you should put that as an answer.
Sophia
Sophia am 20 Jun. 2018
Bearbeitet: Stephen23 am 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dennis
Dennis am 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 :)

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by