本文主要是介绍matlab 读取netcdf文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
虽然之前有很多读取nc的toolbox,
但是有了panoply之后,通过panoply把nc文件的结构和内容搞明白后,
再使用matlab自带的函数就足够
在matlab help中搜索netcdf
有一系列命令,比较常用的有下面这几个步骤
1、打开nc文件,获取文件id
2、获取所需变量的id号 varid
3、将文件中的varid的值赋给变量名variable
2和3可重复多次,把所需变量读出
4、关闭nc文件
id = netcdf.open('filename','nc_nowrite');
varid = netcdf.inqVarID(id,'var_name');
variable = netcdf.getVar(id, varid);
netcdf.close(id)
细节: netcdf.getVar中根据需要有不同的用法,比如我常用的
variable = netcdf.getVar(id,varid,start,count)
有时该变量很大,但我不需要使用这么多,因此,定义一个起始点,和所需的部分
例如,对于一个四维内容 longitude*latitude*level*time,360*180*10层*50年,我需要第5个时刻的全球变量第2层到第5层
可以这样读取
variable = netcdf.getVar(id,varid,[0 0 1 4],[360 180 4 1])
start是需要位置的前一位置,比如需要第2层,就从1开始;需要第5年的,就从4开始。
count是需要的总量,需要第2-5层,就从1开始,数量4层;需要1年,时间数量写1,
基本上,我用的内容就这些。
这篇关于matlab 读取netcdf文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!