首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IDL for循环覆盖数据

IDL for循环覆盖数据
EN

Stack Overflow用户
提问于 2014-03-21 18:13:16
回答 1查看 174关注 0票数 0

我在IDL中的for循环有问题。

代码语言:javascript
运行
复制
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之后停止程序时,我得到以下结果:

代码语言:javascript
运行
复制
 print, array[0,90,315,49]
     44.0.673

但当我不停止程序时,我会得到这样的结果:

代码语言:javascript
运行
复制
 print, array[0,90,315,49]
    -NaN

看起来,我的程序覆盖了前一个循环步骤的数据。当我绘制散点图时,我也只有最后一个循环步骤的点……

你看到我的错误了吗?非常感谢!kiki

EN

回答 1

Stack Overflow用户

发布于 2014-03-21 23:54:09

您在所显示的代码中没有为dwd赋值(并且由于结尾的原因,代码不能按原样编译--我假设您出于某种原因必须重写代码,而不是复制并传递?)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22555835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档