For loop confusion!

1 vue (au cours des 30 derniers jours)
Sophia
Sophia le 12 Mai 2016
Modifié(e) : Chad Greene le 13 Mai 2016
ind1 = 1:6;
for t2=1:size(mm_r,3);
if t2 <= 6
wt_r = mm_r(1:361,1:361,ind1);
wint2_r(:,:,t2) = mean(wt_r,3); %wint2_r is of 361*361*6
ind1 = ind1+6;
else
end
end
To calculate the sequential differences I want to write this part in for loop, but it is not working out the way i want lets say an_r of size 361*361*5
anom_90_84_r = wint2_r(:,:,2) - wint2_r(:,:,1);
anom_96_90_r = wint2_r(:,:,3) - wint2_r(:,:,2);
anom_02_96_r = wint2_r(:,:,4) - wint2_r(:,:,3);
anom_08_02_r = wint2_r(:,:,5) - wint2_r(:,:,4);
anom_15_08_r = wint2_r(:,:,6) - wint2_r(:,:,5);
  3 commentaires
dpb
dpb le 13 Mai 2016
Don't know that we can help simply on the basis of "it isn't working the way I want", sorry. What is the desired output from what input? Generally a (very small) sample case that illustrates numerically helps clarify what often is difficult describing solely in words.
Weird Rando
Weird Rando le 13 Mai 2016
Modifié(e) : Weird Rando le 13 Mai 2016
Just letting you know that you didn't really need the if statement if you just start the for loop at 2.
for k = 2:size(wint2_r,3)
anom_r = wint2_r(:,:,k)-wint2_r(:,:,(k-1));
an_r(:,:,k-1) = anom_r;
end
Basically, are you asking how to dynamically name variable to store data. So in the for loop you would do this
anom_90_84_r = wint2_r(:,:,2) - wint2_r(:,:,1);
anom_96_90_r = wint2_r(:,:,3) - wint2_r(:,:,2);
anom_02_96_r = wint2_r(:,:,4) - wint2_r(:,:,3);
anom_08_02_r = wint2_r(:,:,5) - wint2_r(:,:,4);
anom_15_08_r = wint2_r(:,:,6) - wint2_r(:,:,5);

Connectez-vous pour commenter.

Réponse acceptée

Chad Greene
Chad Greene le 13 Mai 2016
Modifié(e) : Chad Greene le 13 Mai 2016
I think you can skip the loops and use diff:
an_r = diff(wint2_r,1,3);

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by