在 Scilab 中将变量保存到 HDF5

Saving variable to HDF5 in Scilab

我基本上是在尝试创建一个 HDF5 文件,以在具有特定路径的数据集中存储一个 16 位整数矩阵。 在阅读 Scilab 文档的 HDF5 管理部分后,我尝试了以下操作:

file1 = h5open(‘/.../test.h5','a');
h5write(file1, '/example/data', variable, 'H5T_STD_I16LE');

根据我的理解,第一行应该创建 test.h5 文件,因为我正在使用 'a' 参数。根据文档的 h5write 应该创建数据集,如果它不存在,并将提供的变量写入它。

文件本身确实已创建,但数据集未创建且代码 returns 出现以下错误:

!--error 999 
h5write: Cannot create the dataset: /example/data
HDF5 description: component not found

有人可以指出我在这里遗漏了什么吗?

在对 h5 函数进行进一步试验后,我找到了一个解决方案,我想我会回答我的问题,因为 Scilab 文档中没有明确说明答案。

为了使用 h5write 创建数据集,例如/group/subgroup/dataset,需要先创建群组本身,如下:

h5group(file, '/group');
h5group(file, '/group/subgroup')

然后可以继续在路径上创建数据集,如问题中所示。