Problem with the looping

1 回表示 (過去 30 日間)
Sophia
Sophia 2016 年 3 月 30 日
編集済み: Sophia 2016 年 3 月 30 日
tr(i,j,ni) is 361*361*432
ind=10:16; % Winter average over month Oct to following year's April
for k=1:(ni/12)-1
meanr = nanmean(tr(i,j,ind));
tmeanr(i,j,k) = meanr;
ind = ind + 12;
end
The values in * *meanr* = nanmean(tr(i,j,ind));* are showing all zeros.
ind values showing are 430-436, but since i don't have the complete winter data values for 2014(i just have oct to dec for 2014 not jan to apr 2015), so i want this ind to show 418-424 instead.

採用された回答

Image Analyst
Image Analyst 2016 年 3 月 30 日
Use an "if" to check for that value and if the value is in the "missing" range then either "continue" or subtract 12 from ind to get it into the range you want.
Or else insert data for the "missing" months, like zeros or something, so that it will have something there in the right spot.
  1 件のコメント
Sophia
Sophia 2016 年 3 月 30 日
編集済み: Sophia 2016 年 3 月 30 日
I tried this, and it works,But the means still show zeros
t_r = zeros(361,361,35);
ind=10:16;
for t=1:(ni/12)-1;
if t<=34
wint_tr = nanmean(tr(i,j,ind));
t_r(i,j,t) = wint_tr;
ind = ind + 12;
else
end
end
* *mean_winter_sid = mean(t_r,3);** all values in this are showing zero

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by