主要内容

数据集(H5D)

多维数组的数据元素和支持元数据万博1manbetx

描述

使用MATLAB®HDF5数据接口,H5D创建、读和写数据集,和访问信息。

一个HDF5组成的数据集是一个对象的数据元素的集合,或原始数据和元数据存储数据元素的描述,数据布局,和所有其他必要信息写,读,和解释存储的数据。

功能

H5D.close

关闭数据集

H5D.close (dsID)结束访问指定的数据集dsID和释放资源。

H5D.create

创建新的数据集

dsID = H5D.create (locID、dsname类型id, spaceID dcplID)创建的数据集的名称dsname在文件中或在指定的组locID。这个语法对应H5Dcreate1接口HDF5 1.6版本的C库。

dsID = H5D.create (locID、dsname类型id, spaceID lcplID, dcplID, daplID)创建数据集和三个属性列表标识符,lcplID,dcplID,daplID。这个语法对应H5Dcreate2接口HDF5 1.8版本的C库。

细节

H5D.flush

所有数据缓冲区刷新到磁盘

H5D.flush (dsID)导致与标识符相关联的所有缓冲区的数据集dsID立即刷新到磁盘中删除数据。

H5D.get_access_plist

本数据集访问属性列表

plistID = H5D.get_access_plist (dsID)返回标识符的副本数据集访问属性列表用来打开指定的数据集dsID

H5D.get_create_plist

本数据集创建属性列表

plistID = H5D.get_create_plist (dsID)返回标识符的数据集的副本创建指定的数据集的属性列表dsID

H5D.get_offset

数据集在文件的位置

抵消= H5D.get_offset (dsID)返回指定的数据集文件的位置dsID。位置表示为一个偏移量,以字节为单位,从一开始的文件。

H5D.get_space

本数据集dataspace

dspaceID = H5D.get_space (dsID)返回一个标识符的一个副本dataspace指定的数据集dsID

H5D.get_space_status

确定空间分配

状态= H5D.get_space_status (dsID)确定空间分配给指定的数据集dsID

H5D.get_storage_size

确定所需的存储大小

dsetsize = H5D.get_storage_size (dsID)以字节为单位返回的存储量,需要指定的数据集dsID

H5D.get_type

复制的数据类型

类型id = H5D.get_type (dsID)返回一个标识符的副本数据类型指定的数据集dsID

H5D.open

打开指定的数据集

dsID = H5D.open (locID dsname)打开指定的数据集dsname指定的文件或组locID

dsID = H5D.open (locID dsname daplID)打开指定的数据集dsname指定的文件或组locID指定的数据集访问属性列表daplID

细节

H5D.read

数据集从HDF5读取数据

data = H5D.read (dsID)读取指定的整个数据集dsID

data = H5D.read (dsID memtypeID、memspaceID filespaceID, dxplID)读取指定的数据集dsID额外的参数。

细节

H5D.refresh

明确并重新加载所有数据缓冲区

H5D.refresh (dsID)清除所有缓冲数据集dsID并立即用更新后的内容从磁盘加载。

H5D.set_extent

改变数据集的大小尺寸

H5D.set_extent (dsID区段)改变指定的数据集的维度dsID中指定的大小区段

细节

H5D.vlen_get_buf_size

确定可变长度的存储需求

大小= H5D.vlen_get_buf_size (dsID类型id, spaceID)决定了所需要的字节数存储指定的变长数据集的数据dsID

细节

H5D.write

写数据HDF5数据集

H5D.write (dsID、memtypeID memspaceID、filespaceID dxplID, buf)指定的数据集dsID从应用程序内存缓冲区缓冲区到该文件。

细节

例子

全部展开

选择一个hyperslab并将它写入数据集的数据。

创建一个可写的文件副本example.h5

srcFile = fullfile (matlabroot,“工具箱”,“matlab”,“演示”,“example.h5”);拷贝文件(srcFile“myfile.h5”);fileattrib (“myfile.h5”,“+ w”);plist =“H5P_DEFAULT”;fid = H5F.open (“myfile.h5”,“H5F_ACC_RDWR”plist);

打开数据集。

%打开数据集dsID = H5D.open (fid,“g4 /世界”);开始= 15 [5];h5_start = fliplr(开始);5块= [10];h5_block = fliplr(块);memSpaceID = H5S.create_simple (2 h5_block []);

复制的标识符dataspace并选择hyperslab它写数据集内。

dspaceID = H5D.get_space (dsID);H5S.select_hyperslab (dspaceID“H5S_SELECT_SET”,h5_start [] [], h5_block);data =兰德(块);

写选择hyperslab数据集。

%写入数据H5D.write (dsID“H5ML_DEFAULT”,dspaceID memSpaceID plist数据);H5S.close (dspaceID);H5S.close (memSpaceID);H5D.close (dsID);H5F.close (fid);

打开一个数据集在一个HDF5文件和改变它的维度。

创建一个可写的文件副本example.h5

srcFile = fullfile (matlabroot,“工具箱”,“matlab”,“演示”,“example.h5”);拷贝文件(srcFile“myfile.h5”);fileattrib (“myfile.h5”,“+ w”);fid = H5F.open (“myfile.h5”,“H5F_ACC_RDWR”,“H5P_DEFAULT”);

打开一个数据集和改变其尺寸的大小。

dsID = H5D.open (fid,“g4 /时间”);H5D.set_extent (dsID 20);H5D.close (dsID);H5F.close (fid);

从一个HDF5文件读取整个数据集。

打开文件example.h5和数据集/ g1 / g1.1 / dset1.1.1

fid = H5F.open (“example.h5”);dsID = H5D.open (fid,“/ g1 / g1.1 / dset1.1.1”);

阅读整个数据集dsID

data = H5D.read (dsID);H5D.close (dsID);H5F.close (fid);

阅读2 x3 hyperslab数据从一个数据集,从第四行和第5列的示例数据集。

创建一个属性列表标识符,然后打开HDF5文件和数据集/ g1 / g1.1 / dset1.1.1

plist =“H5P_DEFAULT”;fid = H5F.open (“example.h5”);dsID = H5D.open (fid,“/ g1 / g1.1 / dset1.1.1”);

创建一个简单dataspace 2 x 3。然后,创建一个数据集的副本dataspace标识符。

2 = fliplr dim ([3]);memSpaceID = H5S.create_simple (2 dim []);dspaceID = H5D.get_space (dsID);抵消= fliplr ([3 - 4]);2块= fliplr ([3]);

选择数据集的hyperslab,然后阅读它。

H5S.select_hyperslab (dspaceID“H5S_SELECT_SET”、抵消、[][],块);data = H5D.read (dsID“H5ML_DEFAULT”,dspaceID memSpaceID plist);H5S.close (dspaceID);H5S.close (memSpaceID);H5D.close (dsID);H5F.close (fid);

创建一个10 x5双精度与默认属性列表设置数据集。

创建一个HDF5文件myfile.h5,识别数据类型。

fid = H5F.create (“myfile.h5”);类型id = H5T.copy (“H5T_NATIVE_DOUBLE”);

创建一个10 x5简单dataspace和数据集标识符dsID

dim = 10 [5];h5_dims = fliplr (dim);h5_maxdims = h5_dims;spaceID = H5S.create_simple (2 h5_dims h5_maxdims);dcpl =“H5P_DEFAULT”;dsID = H5D.create (fid,“死刑”类型id, spaceID dcpl);

结束标识符。

H5D.close (dsID);H5S.close (spaceID);H5T.close(类型id);H5F.close (fid);h5disp (“myfile.h5”);

创建一个6 x3固定长度字符串的数据集。每个字符串长度的字符。

创建一个HDF5文件myfile.h5,识别数据类型。

fid = H5F.create (“myfile_strings.h5”);类型id = H5T.copy (“H5T_C_S1”);

创建一个6 x3简单dataspace和一个固定长度的字符串大小的4个字节。

H5T.set_size(类型id, 4);dim = [6 3];h5_dims = fliplr (dim);h5_maxdims = h5_dims;spaceID = H5S.create_simple (2 h5_dims h5_maxdims);dcpl =“H5P_DEFAULT”;

创建数据集,然后关闭所有标识符。

dsID = H5D.create (fid,“死刑”类型id, spaceID dcpl);H5D.close (dsID);H5S.close (spaceID);H5T.close(类型id);H5F.close (fid);h5disp (“myfile_strings.h5”);

版本历史

之前介绍过的R2006a

全部展开