爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2663|回复: 0

[混合编程] IDL编程学习之逐天进行8小时平均

[复制链接]

新浪微博达人勋

发表于 2018-8-9 16:47:35 | 显示全部楼层 |阅读模式

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

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

x
附件chao.txt是:日期-时间-臭氧浓度
(压缩包中有原始数据、代码、结果txt)
QQ截图20180809163234.jpg
代码:
pro chao
;读出年月日  

a=read_ascii('C:\Users\YGDY\Desktop\chao.txt',DELIMITER='/',data_start=1)
  x=a.field1
  year=x[0,*]
  month=x[1,*]
  day=x[2,*]

;读出小时=0和23的索引,两者一头一尾索引对应起来,等于按天切割
  a=read_ascii('C:\Users\YGDY\Desktop\chao.txt',data_start=1)
  x=a.field1
  p1=where(x[1,*] eq 0)
  p2=where(x[1,*] eq 23)
  n=n_elements(p1)
  for i=0,n-1 do begin
    title='滑动平局'+strtrim(string(long(year[p1])),2)+$
      '年'+strtrim(string(long(month[p1])),2)+'月'+$
      strtrim(string(long(day[p1])),2)+'日'
    txt=txt(title,smooth8(transpose(x[2,p1:p2])))
  endfor
end
;对某向量求8位滑动平均(可以重复使用哟)
function smooth8,x
n=n_elements(x)
re=-999
for i=0,n-8 do begin
  re=[re,mean(x[i:i+7])]
endfor
return,transpose(re[1:-1])
end
function txt,name,x
  ;/append关键字:续写!
  openw,lun,'C:\Users\YGDY\Desktop\chao\'+name+'.txt',/get_lun;,/append
  printf,lun,x
  close,/all
end

chao.txt

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

chao.rar

2.67 KB, 下载次数: 1, 下载积分: 金钱 -5

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

本版积分规则

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

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

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