爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2611|回复: 0

[混合编程] IDL编程学习之双文件数组对应计算案例

[复制链接]
发表于 2017-6-10 18:09:26 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
文件描述:
winter-hours.txt是6列8664(=24*361)行,我们使用第一列的数据,这一列是361个24小时统计值堆起来的。
winter.txt是24列361行,与上一个文件的第一列是对应关系。
问题:对于1-24每一个小时,找出winter-hours.txt文件第一列中这个时次值位于0-75之间的值,计算出对应的winter.txt文件中该时次值的平均值。
程序:
a=read_ascii('C:\Users\Administrator\Desktop\winter-hours.txt',data_start=0)
x=a.field1
x=reform(x[0,*],24,361)
b=read_ascii('C:\Users\Administrator\Desktop\winter.txt',data_start=0)
y=b.field01
for i=0,23 do begin
  p=where(x[i,*] gt 0 and x[i,*] lt 75,count)
  if(count gt 0)then begin
    Y2=y[i,p]
    P2=WHERE(FINITE(y2) EQ 1)
    PRINT,I,MEAN(Y2[P2])
    endif
endfor
输出结果:
       0     0.000000
       1     0.000000
       2     0.000000
       3     0.000000
       4     0.000000
       5     0.000000
       6     0.368421
       7      10.1563
       8      30.9715
       9      52.2500
      10      74.7396
      11      88.3080
      12      101.604
      13      101.439
      14      86.5408
      15      57.1030
      16      25.7549
      17      3.21053
      18     0.000000
      19     0.000000
      20     0.000000
      21     0.000000
      22     0.000000
      23     0.000000
P.S.
(1)使用reform函数对数组进行变形,统一形式便于计算;
(2)两个数据文件中都有NaN数据,需要用finite函数进行识别排除

pro999.pro

418 Bytes, 下载次数: 0, 下载积分: 金钱 -5

winter.txt

20.79 KB, 下载次数: 0, 下载积分: 金钱 -5

winter-hours.txt

419.69 KB, 下载次数: 0, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表