For loop confusion!
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sophia
am 12 Mai 2016
Bearbeitet: Chad Greene
am 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 Kommentare
dpb
am 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
am 13 Mai 2016
Bearbeitet: Weird Rando
am 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);
Akzeptierte Antwort
Chad Greene
am 13 Mai 2016
Bearbeitet: Chad Greene
am 13 Mai 2016
an_r = diff(wint2_r,1,3);
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!