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
从包含这些文件名称的list.dat文件将HDF文件读入MATLAB_List_Matlab_Hdfs - Fatal编程技术网

从包含这些文件名称的list.dat文件将HDF文件读入MATLAB

从包含这些文件名称的list.dat文件将HDF文件读入MATLAB,list,matlab,hdfs,List,Matlab,Hdfs,我有一个list.dat文件,其中按顺序包含大约1000个hdf文件的名称。我需要一个接一个地将它们读入MATLAB,然后将其中包含的数据输入到矩阵中。如何在hdf文件中读取MATLAB?我知道如何让MATLAB读取一个文件,但当它只是列表中的文件名(与实际文件位于同一目录中)时,我不知道如何让它在变量中读取 以下是我目前掌握的情况: % Read in sea ice concentrations % AMSR-E data format: 'asi-s6250-20110101-v5.hd

我有一个list.dat文件,其中按顺序包含大约1000个hdf文件的名称。我需要一个接一个地将它们读入MATLAB,然后将其中包含的数据输入到矩阵中。如何在hdf文件中读取MATLAB?我知道如何让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处使用==>hdfquickinfo>findInsideVgroup时出错 HDF文件“/home/AMSR_SeaIceData_Antarctic/list.dat”可能无效或已损坏

34处==>hdfquickinfo中出错 [found,hinfo]=findInsideVgroup(文件名,数据名)

363处==>hdfread>dataSetInfo中出错 hinfo=hdfquickinfo(文件名、数据名)

210处的==>hdfread中出错 [hinfo,子集]=dataSetInfo(varargin{:})

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


谢谢。

这应该可以让您开始:然后在生成的矩阵上循环:fnames=load('list.dat','-hdf','ASI Ice Concentration');它说有一个未知的命令选项。文本文件不是hdf文件。您说过
list.dat
是一个文本文件。您可能希望使用可以读取文本文件的函数。我的链接概述了函数,其中一列是“支持非数字数据”,这可能是我感兴趣的