Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用nctoolbox获取matlab for循环中的文件列表_Matlab_For Loop_Grib - Fatal编程技术网

使用nctoolbox获取matlab for循环中的文件列表

使用nctoolbox获取matlab for循环中的文件列表,matlab,for-loop,grib,Matlab,For Loop,Grib,我有这段代码 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

我有这段代码

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对象。(依赖坐标信息的方法 例如“网格”或“地理子集”不可用。 在ncgeodataset>ncgeodataset.geovariable中,位于459 在622处的ncgeodataset>ncgeodataset.subsref中 在S4中,在16英寸处进行处理


我还将运行setup函数的行放在startup.m中(我每次运行matlab时都会看到它被激活),但这也不起作用。

您收到的警告不是错误,与
设置\u nctoolbox
无关。您只需运行
设置\u nctoolbox
一次;它会调整Matlab的路径和javaclasspath,以包含运行nctoolbox所需的依赖项。在循环中多次运行它并没有任何作用g

该警告只是告诉您正在读取的数据集缺少坐标变量信息。这是数据集的问题,而不是nctoolbox的问题