0

我有一个 list.dat 文件,其中包含按顺序排列的大约 1000 个 hdf 文件的名称。我需要依次将这些读入MATLAB,并将其中包含的数据输入到矩阵中。如何让 MATLAB 读取 hdf 文件?我知道如何让 MATLAB 读取一个文件,但是当它只是列表中的文件名(与实际文件位于同一目录中)时,我不知道如何让它在变量中读取。

这是我到目前为止所拥有的:

% Read in sea ice concentrations
 % AMSR-E data format: 'asi-s6250-20110101-v5.hdf'; 
 % AMSR2 data format: 'asi-AMSR2-s6250-20120724-v5.hdf';
 % SSMI data format: 'asi-SSMIS17-s6250-20111001-v5.hdf';
fname = 'list.dat';
data = double(hdfread(fname, 'ASI Ice Concentration')); 

这目前不起作用。它抛出一个错误说,

???在 156 HDF 文件“/home/AMSR_SeaIceData_Antarctic/list.dat”处使用 ==> hdfquickinfo>findInsideVgroup 时出错可能无效或损坏。

==> hdfquickinfo 在 34 [找到,hinfo] = findInsideVgroup(文件名,数据名)中出错;

==> hdfread>dataSetInfo 中的错误 363 hinfo = hdfquickinfo(filename,dataname);

==> hdfread 中的错误 210 [hinfo,subsets] = dataSetInfo(varargin{:});

当我只为 fnames 输入 hdf 文件的实际文件名时,代码就可以工作了。

谢谢。

4

0 回答 0