- 积分
- 3632
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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函数进行识别排除
|
|