MATLAB 读取NC数据的命令

来源:互联网 发布:淘宝买家能贷款吗 编辑:程序博客网 时间:2024/06/06 01:07
关于natcdf插件在MATLAB2008a,vista系统的安装   需要用到这个插件就在网上搜索了一下,找到不少说明:
http://yjxstsp2.blog.163.com/blog/static/50506739200811251553650/
这个姐姐的地方的说明是很详细的,很有用处的,我在这在转贴一下:

转自WZY的BLOG
【经本人亲自测试,该方法同样适合用于VISTA系统】

      首先从mexnc(http://mexcdf.sourceforge.net/index.html)下载适合你的matlab版本的mexnc和netcdf_toolbox压缩包。我使用的是mexnc-2.0.31-2.R2008a.tar和netcdf_toolbox-1.0.12。

将上面两个压缩包解压,为方便管理,解压至matlab的toolbox目录下,生成两个文件夹mexnc和netcdf_toolbox;run matlab→file→set path→addfolders(或者add with subfolders)→选中toolbox下的mexnc,并且将mexnc/win32下的netcdf.dll 拷贝至C:\WINDOWS\system32,重启电脑。

然后,run matlab→file→set path→addfolders,将

.../toolbox/netcdf_toolbox;

.../toolbox/netcdf_toolbox/netcdf;

.../toolbox/netcdf_toolbox/netcdf/nctype;   

.../toolbox/netcdf_toolbox/netcdf/ncutility

分别添加至matlab搜索路径。至此,安装完成,恭喜

若安装成功,在matlab的command window中输入ncbrowser,将弹出NetCDF toolbox的窗口,选中你要打开的nc文件,list至command window或extract至workspace。

ncdump('filename.nc')可以用于查看nc文件中所有变量的信息。

对于批量文件,以下提供循环读取nc文件的方法。

file_stru=dir('the/path/of/the/data');

file_stru.name%查看你要读取的文件的编号。file_stru(1).name和file_stru(2).name在window下分别为.和..

for n=mm:nn% 循环读取数据

         filename=strcat('the/path/of/the/data/',file_stru(n).name)

         f=netcdf(filename,'nowrite');

          m=n-mm+1;

          var(m,:,:,:)=f{'var'}(:);%数据操作,将所有nc文件中的变量var存储为一个matlab变量var(如果nc中的var是一个三维数组,那么得到的workspace中的var就为一个四维数组)

         close(f)
    end

批量处理nc文件可参考(http://www.x5dj.com/Blog/00793960/00376006.shtml

以上文字转自http://yjxstsp2.blog.163.com/blog/static/50506739200811251553650/



我有文件名为A.nc,使用如下命令
    ncload('F:\A.nc')  打开了我的nc文件,可以看到变量,包括了维数,经纬度等变量列表。现以变量pr为例说明

  输入命令pr
显示变量pr数据,可以看到全部的pr数据。

已知数据格式如下,第一列表示时间,第二列表示经度,第三列表示维度

输入
x= pr(:,2,3)
save x.xls x -ascii
则导出数据:“:”表示时间,“2”表示经度的第二个格点,“3”表示纬度的第三个格点


据说2010b更简单,有需要的同学可以研究一下,只要一个插件,

输入ncload('F:\A.nc')  打开了我的nc文件,可以看到变量


输入pr
显示变量pr数据


输入
x= pr(:,1,2,3)
save x.xls x -ascii
则导出数据


原创粉丝点击