Matlab如何打開nc文件?

純乾貨,請收下!

%Matlab程序讀取sst數據: 
close all
clear all

oid='sst.mnmean.nc'              %將oid設置爲nc文件名,防止nc文件名過長導致不必要的麻煩 以下用oid代替nc文件名
ncinfo('sst.mnmean.nc');        %讀取nc文件的屬性值 必須保證nc文件和.m程序在同一文件夾下
sst=double(ncread(oid,'sst'));  %讀取文件類型爲sst類型的nc文件 
nlat=double(ncread(oid,'lat')); %讀取經度變量
nlon=double(ncread(oid,'lon')); %讀取緯度變量
 
mv=ncreadatt(oid,'/sst','missing_value');  %缺少值和對應精度
sst(find(sst==mv))=NaN;         %將缺少值設置爲空值
 %% 顯示數據
[x,y]=meshgrid(lon,lat);%根據經緯度信息產生格網,
[Nlt,Nlg]=meshgrid(nlat,nlon);  
%Plot the SST data without using the MATLAB Mapping Toolbox
%用Plot方法對sst文件進行畫圖不使用MATLAB自帶的地圖工具  結果:顯示不出來對應的橫縱座標和輪廓
figure
pcolor(Nlg,Nlt,sst(:,:,1));shading interp;
load coast;hold on;plot(long,lat);plot(long+360,lat);hold off
colorbar
%用Plot方法對sst文件進行畫圖不使用MATLAB自帶的地圖工具  結果:顯示不出來對應的橫縱座標和輪廓
%Plot the SST data using the MATLAB Mapping Toolbox
 
figure
axesm('eqdcylin','maplatlimit',[-80 80],'maplonlimit',[0 360]);  % Create a cylindrical equidistant map  %根據nc文件創建相應的圖,此處創建eqdcylin即創建柱面等距地圖  還可創建其他類型圖 自行查找axesm屬性資源
pcolorm(Nlt,Nlg,sst(:,:,1))           % pseudocolor plot "stretched" to the grid   用matlab自帶工具僞彩色圖“拉伸”到網格  
load coast                                 % add continental outlines  可以用matlab自帶工具添加大陸輪廓
plotm(lat,long)
colorbar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章