How to solve error "Index exceeds matrix dimensions" when reading netcdf file?

조회 수: 2 (최근 30일)
Shayma Al Ali
Shayma Al Ali 2020년 10월 16일
답변: meghannmarie 2020년 10월 16일
I'm trying to import some variables from a netcdf file. The variable "wind speed" has dimensions of 1x1x42456 or lat xlon x time. My current code is
datl.wspd=[];datl.time=[]; datl.datenum=[];
datl.time=ncread(direc(i).name,'time'); %load times from fix
for i=1:length(datl.time)
datl.datenum(i)=addtodate(datenum(1970,1,1),fix(datl.time(i)),'second');
end
% for j=1:length(datl.time)
% datl.datenum(j)=datenum(1970,1,1)+datl.time(j);
% end
tstart=min(datl.datenum);
tend=max(datl.datenum);
datl.datenum=datl.datenum';
datl.wspd=zeros(1,1,length(datl.datenum));
datl.wspd(:,:,:,i)=ncread(direc(i).name,'wind_spd'); %load wspd from file
but I always end up with the error "Index exceeds matrix dimensions". How can I resolve this?

답변 (1개)

meghannmarie
meghannmarie 2020년 10월 16일
datl.wspd has 3 dimensions but when you save data to it you are indexing into a fourth dimension. I think your last line should be this:
datl.wspd(:,:,i)=ncread(direc(i).name,'wind_spd'); %load wspd from file

카테고리

Help CenterFile Exchange에서 NetCDF에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by