IDL の for ループに問題があります。
for sl=0,2 do begin ; number of hours
for t=90,90 do begin ; timesteps each hour
for rad_num = 0, 3 do begin ; number of radars
for ibin = 0, 333 do begin ; distance to radar
for iray = 0, 359 do begin ; angle
if finite(input(ibin,iray,rad_num)) eq 1 then begin
bin = bin_index(ibin,iray,rad_num)
ray = ray_index(ibin,iray,rad_num) ; necessary because of different grids
array(sl,t,ray,bin)=array(sl,t,ray,bin)+ input(ibin,iray,rad_num)
array_N(sl,t,ray,bin) = array_N(sl,t,ray,bin) + 1.
endif
endfor
endfor
endfor
endfor
endfor
array = array / array_N
最初の sl-loop-step の後でプログラムを停止すると、次のようになります。
print, array[0,90,315,49]
44.0.673
しかし、プログラムを停止しないと、次のようになります。
print, array[0,90,315,49]
-NaN
私のプログラムは前のループステップのデータを上書きしているようです。散布図を作成すると、最後のループステップのポイントのみが表示されます...
私の間違いがわかりますか?どうもありがとう!キキ