爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6974|回复: 8

[源程序] 请大家帮我看一段代码

[复制链接]

新浪微博达人勋

发表于 2012-8-6 13:58:57 | 显示全部楼层 |阅读模式

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

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

x
这个是一段读取ncep的代码 我刚刚接触matlab 有些看不太懂 请大家帮我看一下 解释一下 谢谢

clear all
fdir1='E:\data\ncep\gh\';
gh=netcdf([fdir1,'hgt.mon.mean.nc'],'nowrite'); %这里的netcdf函数在我这里运行的时候,总是报函数没有定义错误
gh1=gh{'hgt',1}(277:720,6,:,:); %这一句是什么意思啊?

gh1=squeeze(gh1); %这句话的意思是去除掉维数是1的维度吗?
gh1=permute(gh1,[2 3 1]); %这句是要交换维度的顺序?
gh1=flipdim(gh1,1);    %convers lat [N S] as [S N]

fp=fopen([fdir1,'gh500\gh_71_07\global\gh_71.1_07.12.dat'],'w');
fwrite(fp,gh1,'float32');
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-8-6 14:21:24 | 显示全部楼层
另外 好像是因为我的netcdf插件安装的不对 所以在运行这个程序时 会报错误

“>> readnc
Error using feval
Invalid MEX-file 'F:\netcdf\install files\mexcdf53_pcwin\PCWIN\mexcdf53.dll':
F:\netcdf\install files\mexcdf53_pcwin\PCWIN\mexcdf53.dll 不是有效的 Win32 应用程序。

Error in ncmex (line 139)
        [varargout{:}] = feval(fcn, varargin{:});

Error in netcdf/open (line 20)
[theNCid, status] = ncmex('open', name(self), thePermission);

Error in netcdf (line 416)
   result = open(result, thePermission);

Error in readnc (line 4)
gh=netcdf('hgt.mon.mean.nc','nowrite');”

我使用的是Matlab版本是Windows下的2011b 谁能知道一下我怎么在这个版本下使用netcdf插件啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-8-6 14:49:02 | 显示全部楼层
楼主有没有在论坛里找过有关netcdf的帖子呀?其实很多帖子你可以参考一下哦,比如:
http://bbs.06climate.com/forum.php?mod=viewthread&tid=2832
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-8-6 15:14:24 | 显示全部楼层
我都看了 但是他文章里说的下载matlab对应版本插件的链接 我打不开啊 打不开
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-8-6 15:15:06 | 显示全部楼层
我装的这个低版本的插件还是在论坛里下载的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-8-6 16:18:50 | 显示全部楼层
现在插件都装好了 程序可以运行了 但是这一句 我还是不明白它干了什么?

gh1=gh{'hgt',1}(277:720,6,:,:); %??????
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-8-7 18:28:01 | 显示全部楼层
这个文件 大概的意思是 从高度场数据里 读出71年1月到07年12月的全部记录 感觉神奇的是在哪里都没有看到它怎么设置的读取范围啊 难道就是这句gh1=gh{'hgt',1}(277:720,6,:,:,:);现在的问题是,我要读取71年1月到08年7月的数据,该怎么改写这一句才能达到目的呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-10-11 21:12:38 | 显示全部楼层
用nc数据先ncdump看看里面的说明,gh1=gh{'hgt',1}(277:720,6,:,:,:);就是选择数据的范围
squeeze是降维,每一个命令的具体用法help中查看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-10-16 19:23:11 | 显示全部楼层
本帖最后由 windprofiler 于 2012-10-16 19:25 编辑

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

本版积分规则

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

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

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