我在 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
看来,我的程序覆盖了前一个循环步骤的数据。当我制作散点图时,我也只有最后一个循环步骤的点......
你看到我的错误了吗?非常感谢!琪琪