How to solve error "Index exceeds matrix dimensions" when reading netcdf file?
3 次查看(过去 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!