A. matlab 讀取nc文件
首先,nc1的這個「3」是netcdf.open函數返回的ncid;Matlab自帶、與NETCDF相關的 Low-Level 函數中很多以 id 來識別文件(ncid)、維度(dimid)、變數(varid)。在help中搜索 「netcdf」 可以找到所有相關函數。
其次,僅需要從nc文件中讀取數據時,不必調用這些 Low-Level 函數,一般使用 ncread,例如最簡單的 u = ncread('uwnd.2010.nc', 『u』); 這個命令將從你的nc文件中讀取變數「u」。詳細說明建議看help:help ncread。
最後,如上面建議的,簡單的工作中,盡量使用 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))三步。
PS:
Matlab從2008b開始,就開始自帶netcdf介面了(當時是netcdf-3),並且跟隨netcdf標準的演變,在之後的版本中添加了對netcdf-4、OpenDAP等的支持,並加入了一些符合Matlab習慣的函數。
因此如果使用的是2008b之前的版本,需要MEXNC、SNCTOOLS等外部介面;而2008b-2010b則不必依賴外部函數;最後如果是2011a及更新版本的,則可以直接使用「ncread」、「ncwrite」等非常方便的函數