代码之家  ›  专栏  ›  技术社区  ›  rob

在Scilab中将变量保存到HDF5

  •  1
  • rob  · 技术社区  · 9 年前

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

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

    在我的理解中,第一行应该创建测试。h5文件,因为我正在使用“a”参数。根据文档的h5write应该创建数据集(如果数据集不存在),并将提供的变量写入其中。

    文件本身确实已创建,但数据集未创建,代码返回以下错误:

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

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

    1 回复  |  直到 9 年前
        1
  •  1
  •   rob    9 年前

    经过对h5功能的进一步实验,我找到了一个解决方案,我想我会回答我的问题,因为Scilab文档中没有明确说明答案。

    为了使用h5write在例如/group/subgroup/dataset处创建数据集,必须首先创建组本身,如下所示:

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

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