Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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
File 在matlab的hdf5中将数据附加到同一数据集_File_Matlab_Append_Hdf5 - Fatal编程技术网

File 在matlab的hdf5中将数据附加到同一数据集

File 在matlab的hdf5中将数据附加到同一数据集,file,matlab,append,hdf5,File,Matlab,Append,Hdf5,我必须在hdf5中将所有巨大的数据放在一个数据集中。现在,问题是,如果你尝试: >> hdf5write('hd', '/dataset1', [1;2;3]) >> hdf5write('hd', '/dataset1', [4;5;6], 'WriteMode', 'append') ??? Error using ==> hdf5writec writeH5Dset: Dataset names must be unique when appending da

我必须在hdf5中将所有巨大的数据放在一个数据集中。现在,问题是,如果你尝试:

>> hdf5write('hd', '/dataset1', [1;2;3])
>> hdf5write('hd', '/dataset1', [4;5;6], 'WriteMode', 'append')
??? Error using ==> hdf5writec
writeH5Dset: Dataset names must be unique when appending data.
如您所见,当您试图将数据附加到同一数据集时,hdf5write将发出抱怨。我环顾四周,发现一个可能的解决方法是首先从数据集中获取数据,然后在matlab环境中连接数据。当然,这对于小数据来说不是问题。在这种情况下,我们谈论的是千兆字节的数据,而Matlab开始大声喊出内存

因此,在这种情况下,我的可用选项是什么


注意:我们的matlab版本中没有h5write函数

我认为“附加”模式是将数据集添加到现有文件中

hdf5write似乎不支持附加到现有数据集。如果没有更新的h5write函数,最好的办法是编写一个带有低级别HDF5库函数的小型实用程序,这些函数是用H5*包函数公开的


为了让您开始学习,本页提供了一个关于如何附加到数据集的示例。

您不能使用
hdf5write
,但是如果您的Matlab版本不是太旧,您可以使用和来完成。此示例取自:

将数据附加到无限数据集

h5create('myfile.h5','/DS3',[20 Inf],'ChunkSize',[5 5]);
for j = 1:10
    data = j*ones(20,1);
    start = [1 j];
    count = [20 1];
    h5write('myfile.h5','/DS3',data,start,count);
end
h5disp('myfile.h5');

对于旧版本的Matlab,应该可以使用Matlab的HDF5低级API来执行此操作。

这将对那些拥有新版本Matlab的人有所帮助,但对我们来说,我们在问题中写道,我们没有h5write函数。