如何用Matlab和Python讀取Netcdf文件
NetCDF(網(wǎng)絡(luò)通用數(shù)據(jù)格式)文件后綴為.nc,文件中的數(shù)據(jù)結(jié)構(gòu)包含維(dimensions)、變量(variables)和屬性(attributes)三種描述類型,每種類型都會被分配一個(gè)名字和一個(gè)ID。
從數(shù)學(xué)上來說,netcdf存儲的數(shù)據(jù)就是一個(gè)多自變量的單值函數(shù)。用公式來說就是f(x,y,z,...)=value,函數(shù)的自變量x,y,z等在netcdf中叫做維(dimension)或坐標(biāo)軸(axis),函數(shù)值value在netcdf中叫做變量(Variables)。而自變量和函數(shù)值在物理學(xué)上的一些性質(zhì),比如計(jì)量單位(量綱)、物理學(xué)名稱等等在netcdf中就叫屬性(Attributes)。
NetCDF name{Dimensions:… //定義維數(shù)Variables:… //定義變量Attributes:… //屬性Data:…//數(shù)據(jù)}
讀取.nc文件可以用python的netCdf4模塊,也可以用ncbrowser,這里我用的是Matlab。
MATLAB具有數(shù)值分析、數(shù)值和符號計(jì)算、工程與科學(xué)繪圖、控制系統(tǒng)的設(shè)計(jì)與仿真、數(shù)字圖像處理、數(shù)字信號處理、財(cái)務(wù)與金融工程等功能。
這是matlab打開之后的基本界面,上方為命令功能區(qū),右側(cè)為命令行輸入欄,左上角為當(dāng)前路徑中文件夾詳情,左下角為軟件工作區(qū)。

%% 顯示結(jié)構(gòu) % ncdisp(ncFilePath);%顯示nc文件的所有結(jié)構(gòu),以便大概了解里面的內(nèi)容 % ncdisp(ncFilePath,’evap’);%顯示指定變量的內(nèi)容,注意一定要是變量variables才可以 % ncdisp(ncFilePath,’/’,’min’);%簡單顯示結(jié)構(gòu)以及定義 % ncdisp(ncFilePath,’/’,’full’);%全部顯示所有結(jié)構(gòu)和定義信息

然后調(diào)用ncread讀取變量值:
vardata = ncread(source,varname)vardata = ncread(source,varname,start,count,stride)
(1)start
varname所指定變量的每一維的開始讀取的位置
(2)count
從start指定的開始位置算起,一共讀取的每一維要素的數(shù)目
(3)stride
從start開始,每一維讀取的數(shù)目為count時(shí),每一維的讀取的步長

安裝netCDF4庫

導(dǎo)入nc庫,用Dataset函數(shù)讀取文件信息

f.variables.keys()讀取所有變量名稱
f.variables.items()讀取所有變量信息

讀取單個(gè)變量的值

以上就是如何用Matlab和Python讀取Netcdf文件的詳細(xì)內(nèi)容,更多關(guān)于Matlab和Python讀取Netcdf文件的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. JS實(shí)現(xiàn)前端動態(tài)分頁碼代碼實(shí)例2. 關(guān)于IDEA 2020.3 多窗口視圖丟失的問題3. javascript實(shí)現(xiàn)貪吃蛇小練習(xí)4. js實(shí)現(xiàn)碰撞檢測5. 一文帶你徹底理解Java序列化和反序列化6. 用Spring JMS使異步消息變得簡單7. PHP驗(yàn)證碼工具-Securimage8. Python 制作查詢商品歷史價(jià)格的小工具9. Python 利用Entrez庫篩選下載PubMed文獻(xiàn)摘要的示例10. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條

網(wǎng)公網(wǎng)安備