- 积分
- 1646
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-7-11
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用matlab读取nc文件,vwnd数组是这样的:vwnd(time,lev,lat,lon)=(12,17,73,144)
一开始是这样读的:
lon = fid{'lon'}(:);
lat = fid{'lat'}(:);
lat = lat([end:-1:1]); %-90~90
lev = fid{'level'}(:)*100;
nt = length(fid{'time'}(:));
但是报错:Cell contents reference from a non-cell array object.
不知道是为什么?
我没有下netcdf插件,直接用的netcdf.open
后来改成这样:
file = 'D:\netcdf\vwnd.mon.ltm.nc'; %1981-2010monthly mean
fid = netcdf.open(file,'NC_NOWRITE');
[ndims,nvars,ngatts,unlimdimid] = netcdf.inq(fid);
varid1 = netcdf.inqVarID ( fid, 'lat' ) ;
lat = netcdf.getVar ( fid, varid1 ) ;
lat = lat([end:-1:1]); %-90~90
varid2 = netcdf.inqVarID ( fid, 'lon' ) ;
lon = netcdf.getVar ( fid, varid2 ) ;
varid3 = netcdf.inqVarID ( fid, 'level' ) ;
lev = netcdf.getVar ( fid, varid3 ) ;
lev = lev*100;
varid4 = netcdf.inqVarID ( fid, 'time' ) ;
time = netcdf.getVar ( fid, varid4 ) ;
nt = length(time);
varid5 = netcdf.inqVarID ( fid, 'vwnd' ) ;
vwnd0 = netcdf.getVar ( fid, varid5 ) ;
查看了vwnd0的维数是144 73 17 12
也就是lon lat lev time.
这不是和数组本身维数顺序完全相反么?
请问为什么会这样?数组是怎么读的?
谢谢啦~~
|
|