爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 31841|回复: 62

[程序设计] [原创]用Matlab批量读取气象数据

  [复制链接]

新浪微博达人勋

发表于 2013-8-19 16:31:38 | 显示全部楼层 |阅读模式

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

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

x
在中国气象数据共享网上批量下载到的气象数据格式如下:
SURF_CLI_CHN_MUL_DAY-EVP-13240-195101.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195102.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195103.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195104.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195105.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195106.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195107.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195108.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195109.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-1951010.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-1951011.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-1951012.TXT
。。。。
SURF_CLI_CHN_MUL_DAY-EVP-13240-201212.TXT
用matlab批量读取的程序如下:
for jj=1951:1:2012
for j=1:1:12
    if j<10
    ss=strcat('SURF_CLI_CHN_MUL_DAY-EVP-13240-',int2Str(jj),'0',int2Str(j));
    else
        ss=strcat('SURF_CLI_CHN_MUL_DAY-EVP-13240-',int2Str(jj), int2Str(j));
    end
end
end
程序比较简单,但是对于刚处理气象数据的新手来说还是比较实用的。

评分

参与人数 1金钱 +10 贡献 +2 收起 理由
kongfeng0824 + 10 + 2

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-15 23:17:20 | 显示全部楼层
在matlab中有个口令是file=dir(strcat('I:\\你的路径\\','*.TXT'));这个口令下读入全部你规定路径文件夹下的所有TXT文件,而file是一个元胞体文件,他里面可以储存包括文件名,文件修改日期等信息,其中file(n,1).name就是文件名,可以继续通过对n做循环,不断读取相应的文件呢!
密码修改失败请联系微信:mofangbao
回复 支持 3 反对 0

使用道具 举报

新浪微博达人勋

发表于 2014-4-13 08:05:39 | 显示全部楼层
不错很好
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2013-8-19 16:55:28 | 显示全部楼层
感谢分享               
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-19 17:10:10 | 显示全部楼层
>10的时候中间还是有0的,不用if了吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-19 17:18:31 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-19 18:42:21 | 显示全部楼层
如果是逐日的还要判断闰年
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-19 20:03:49 | 显示全部楼层
Aires 发表于 2013-8-19 17:10
>10的时候中间还是有0的,不用if了吧

不需要了,用个else即可
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-19 20:08:05 | 显示全部楼层
不好意思,上面的数据名称有点小错误。当月份为10,11,12时,年和月之间是没有0的
SURF_CLI_CHN_MUL_DAY-EVP-13240-195110.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195111.TXT
SURF_CLI_CHN_MUL_DAY-EVP-13240-195112.TXT
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-8-19 23:34:40 | 显示全部楼层
这种是批量处理思路中比较常见的一种  谢谢分享了  不过要更通用的话你可以参考下以前fortran有个批处理的帖子  思路都是一样的 你可以同样用matlab实现
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-20 14:15:51 | 显示全部楼层
mofangbao 发表于 2013-8-19 23:34
这种是批量处理思路中比较常见的一种  谢谢分享了  不过要更通用的话你可以参考下以前fortran有个批处理的帖 ...

哦,Fortran我现在用得不熟练,一直都用matlab的,我得好好学习一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-20 14:22:52 | 显示全部楼层
如果中间有几天缺测或没有txt你这个办法就不好用了
最简单的办法是把这些文件名用个p处理写到txt里,然后行读就行了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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