How to solve error "Index exceeds matrix dimensions" when reading netcdf file?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (1)
meghannmarie
le 16 Oct 2020
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 commentaires
Voir également
Catégories
En savoir plus sur NetCDF dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!