How to solve error "Index exceeds matrix dimensions" when reading netcdf file?
조회 수: 2 (최근 30일)
이전 댓글 표시
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?
댓글 수: 0
답변 (1개)
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 NetCDF에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!