使用Matlab处理nc文件

使用Matlab处理nc文件,第1张

读取处理nc文件

ncinfo:返回有关 NetCDF 数据源的信息

ncread: 读取NetCDF中某个变量的数据

ncreadatt:读取NetCDF中属性值

finfo = ncinfo(source) 将 source 所指定的整个 NetCDF 数据源的变量等相关信息返回到结构体 finfo 中。

data = ncread(source,variable) source为nc文件路径,variable为变量名

attvalue = ncreadatt(source,location,attname) 读取 source 中 location 指定的组或变量属性 attname

matlab安装工具包,一般吧所在目录包含到路径下就行了,

File->Set Path->Add Folder...->选择所在目录->确定->最后要按左下角的save,关闭即可。

然后运行相关函数或命令就可以了

首先,nc1的这个“3”是netcdf.open函数返回的ncid;Matlab自带、与NETCDF相关的 Low-Level 函数中很多以 id 来识别文件(ncid)、维度(dimid)、变量(varid)。在help中搜索 “netcdf” 可以找到所有相关函数。\x0d\x0a\x0d\x0a其次,仅需要从nc文件中读取数据时,不必调用这些 Low-Level 函数,一般使用 ncread,例如最简单的 u = ncread('uwnd.2010.nc', ‘u’)这个命令将从你的nc文件中读取变量“u”。详细说明建议看help:help ncread。\x0d\x0a\x0d\x0a最后,如上面建议的,简单的工作中,尽量使用 ncread、ncwrite、 ncreadatt 等函数。一方面,这些函数使用时非常方便、直观;另一方面,使用那些 netcdf.××× 形式的 “Low Level” 函数前,最好先熟悉一下 NetCDF C Interface,否则可能会出现一些问题。例如使用 ncread 可以直接使用文件名、变量名读取变量,但 “Low Level” 函数则需要:获得ncid(ncid = netcdf.open(‘×××’))、获得变量id(varid = netcdf.inqVarID(ncid,‘×××’))、读取变量(data = netcdf.getVar(ncid,varid))三步。\x0d\x0aPS:\x0d\x0aMatlab从2008b开始,就开始自带netcdf接口了(当时是netcdf-3),并且跟随netcdf标准的演变,在之后的版本中添加了对netcdf-4、OpenDAP等的支持,并加入了一些符合Matlab习惯的函数。\x0d\x0a\x0d\x0a因此如果使用的是2008b之前的版本,需要MEXNC、SNCTOOLS等外部接口;而2008b-2010b则不必依赖外部函数;最后如果是2011a及更新版本的,则可以直接使用“ncread”、“ncwrite”等非常方便的函数


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11515395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存