在 MATLAB 中读取 HDF5 数据集的一些特定元素
Posted
技术标签:
【中文标题】在 MATLAB 中读取 HDF5 数据集的一些特定元素【英文标题】:Read some particular elements of a HDF5 dataset in MATLAB 【发布时间】:2015-12-30 10:38:51 【问题描述】:我有一个由 MATLAB 生成的 HDF5 数据集,其中一个数据集的大小为 [1 12672 1 220000],遵循以下模式:[高度宽度通道 NumberOfInstances]。换句话说,我将 220000 个向量样本重新整形为 4-D 数据结构。现在,我想在 MATLAB 中读取所有向量样本的第一个元素,并对它们进行一些操作,比如平均。 这是我尝试过的事情(不确定是否正确),但我陷入了错误池:
data = h5read('trial.h5','/data',[1 1 1 1],[220000,1,1,220000]);
感谢任何帮助。
【问题讨论】:
你用谷歌搜索过“hdf5 read matlab”吗?给:uk.mathworks.com/help/matlab/ref/hdf5read.html 是的,我已经使用过高级 hdf5 命令,但我不知道如何进行索引以读取所有向量的第一个元素。 显示你当时的尝试! 这是我尝试过的,但我遇到了很多错误:data = h5read('trial.h5','/data',[1 1 1 1],[220000,1,1, 220000]); 那行不通?理论上应该... 【参考方案1】:您的数据集大小为[1 12672 1 220000]
。
您正在使用 data = h5read('trial.h5','/data',[1 1 1 1],[220000,1,1,220000]);
访问它
您要访问的数据量是[220000,1,1,220000]
。
你没有那么多数据!!!第一个维度只是1
。您无法访问第一个维度的第一个 220000
值,因为它们不存在,只有 1
。
【讨论】:
以上是关于在 MATLAB 中读取 HDF5 数据集的一些特定元素的主要内容,如果未能解决你的问题,请参考以下文章
在 Matlab 中转置 Python 创建的 HDF5 数据集