我有这段代码
sumrain=zeros(881,1121);
run('D:\nctoolbox-nctoolbox-3161fee\setup_nctoolbox.m')
for j=1:m
nc=ncgeodataset(lsf(j,:)); %lsf is a list of file names
dirvar=nc.geovariable('Total_precipitation_surface_1_Hour_Accumulation');
g=dirvar.grid_interop(1,:,:);
dir=dirvar.data(1,:,:);
dir=reshape(dir,[881 1121]);
sumrain=sumrain+dir;
clear nc dirvar
end
问题是,除非在读取每个文件之前将其激活,否则 nctoolbox 似乎永远无法工作(对我而言)。如果我将运行安装文件的行放在循环中,它可以正常工作,但是代码会很慢。但是当我将运行设置行保持在循环之外时,我收到一个错误:
“警告:netcdf-java cdm 不包含与变量关联的坐标信息。返回 ncvariable 而不是 ncgeovariable 对象。(依赖于坐标信息的方法,如 'grid' 或 'geosubset' 不可用。在 ncgeodataset>ncgeodataset.geovariable 中459 在 ncgeodataset>ncgeodataset.subsref 在 622 在 s4processing 在 16"
我还在我的 startup.m 中添加了运行 setup 函数的行(我每次运行 matlab 时都会看到它被激活),但这也不起作用。