主要内容

数据类型(H5T)

在一个数据元素的数据类型

描述

使用MATLAB®HDF5数据类型接口,H5T、创建和处理数据类型和访问他们的信息。

一个HDF5数据类型描述单个数据元素的存储格式,如数字和字符数据的数据类型。除了数字和字符,一个HDF5数据类型可以描述更抽象的类类型,包括枚举字符串,和引用。用户也可以定义新的数据类型类中的数据类型。

通用数据类型操作

H5T.close

关闭数据类型

H5T.close(类型id)释放指定的数据类型类型id

H5T.commit

提交瞬态数据类型

H5T.commit (locID、名称、类型id)提交一个瞬态数据类型到一个文件,创建一个新的命名数据类型。这个语法对应H5Tcommit接口HDF5 1.6版本的C库。

H5T.commit (locID、名称、类型id, lcplID tcplID, taplID)提交一个瞬态数据类型到一个文件,创建一个新的命名数据类型,并使用链接的创建、数据类型创建和数据类型属性列表的访问。这个语法对应H5Tcommit接口HDF5 1.8版本的C库。

细节

H5T.committed

确定提交数据类型

输出= H5T.committed(类型id)如果指定的数据类型返回一个积极的价值类型id已经提交,0如果它没有。

H5T.copy

复制数据类型

newtypeID = H5T.copy(类型id)复制现有的数据类型标识符,指定数据集标识符类型id,或者一个预定义的数据类型等“H5T_NATIVE_DOUBLE”

H5T.create

创建新的数据类型

newtype = H5T.create (classID typesize)创建一个新的数据类型,属于指定的类classID指定的字节数typesize

H5T.detect_class

确定数据类型包含数据类型的特定类

输出= H5T.detect_class(类型id, classID)如果指定的数据类型返回一个积极的价值类型id包含任何数据类型的数据类型类classID,0如果它不。

H5T.equal

确定数据类型的平等

输出= H5T.equal (type1ID type2ID)返回一个积极的价值,如果数据类型标识符,type1IDtype2ID,指的是相同的数据类型0如果他们不这样做。

指定type1IDtype2ID作为HDF5字符串标量或特征向量包含数据类型。

H5T.get_class

数据类型类标识符

classID = H5T.get_class(类型id)返回指定的数据类型的数据类型类标识符类型id

细节

H5T.get_create_plist

复制的数据类型创建属性列表

plistID = H5T.get_create_plist(类型id)返回一个数据类型的属性列表标识符创建与指定的数据类型相关的属性列表类型id

H5T.get_native_type

指定数据类型的本地数据类型

nativetypeID = H5T.get_native_type(类型id、方向)返回数据集的等价的原生数据类型数据类型中指定类型id

细节

H5T.get_size

数据类型的大小(以字节为单位

typeSize = H5T.get_size(类型id)返回指定的数据类型的大小类型id在字节。

H5T.get_super

基本数据类型

superTypeID = H5T.get_super(类型id)返回指定的数据类型的基本数据类型类型id是派生的。

H5T.lock

锁数据类型

H5T.lock(类型id)锁所指定的数据类型类型id,使其只读和non-destructible。

H5T.open

打开命名数据类型

类型id = H5T.open (locID typename)打开一个指定的数据类型typename指定的文件或组locID并返回一个数据类型标识符。

这个函数对应H5Topen1HDF5库中的函数C API。

数组数据类型

H5T.array_create

创建数组数据类型对象

arraytypeID = H5T.array_create (baseID、等级、变暗、烫发)创建一个新的数组数据类型的对象排名和维会变暗。这个语法对应H5Tarray_create接口HDF5 1.6版本的C库。的烫发这个时候不使用输入参数,可以省略。

arraytypeID = H5T.array_create (baseID dim)创建一个新的数组数据类型对象。这个语法对应H5Tarray_create接口HDF5 1.8版本的C库。

细节

H5T.get_array_dims

数组的大小尺寸

= H5T.get_array_dims dim(类型id)回报维度和维度的大小排列的数组数据类型指定类型id。这个语法对应H5Tget_array_dims接口HDF5 1.8版本的C库。

[ndims, dimsizes,烫]= H5T.get_array_dims(类型id)对应的接口在1.6版本中HDF5 C库。它是强烈抨击。

细节

H5T.get_array_ndims

的数组数据类型

排名= H5T.get_array_ndims(类型id)返回指定的数组数据类型的秩类型id

原子数据类型属性

H5T.get_cset

字符串数据类型的字符集

cset = H5T.get_cset(类型id)返回指定的数据类型的字符集类型类型id

H5T.get_ebias

浮点类型的指数偏差

输出= H5T.get_ebias(类型id)返回浮点数据类型指定的指数的偏见类型id

H5T.get_fields

浮点数据类型字段信息

(检测、叙事诗、esize、mpo msize] = H5T.get_fields(类型id)返回的位置信息的各种领域的一个浮点数据类型。

细节

H5T.get_inpad

内部填充类型为浮点数据类型

padType = H5T.get_inpad(类型id)返回浮点数据类型的内部填充类型未使用的部分规定类型id

细节

H5T.get_norm

尾数规范化类型

normType = H5T.get_norm(类型id)返回浮点数据类型指定的尾数正常化类型id

细节

H5T.get_offset

抵消第一位

抵消= H5T.get_offset(类型id)返回第一个重大的抵消。

H5T.get_order

原子数据类型的字节顺序

byteorder = H5T.get_order(类型id)返回原子数据类型指定的字节顺序类型id

细节

H5T.get_pad

填充类型的最小和最重要的部分

(lsb (msb) = H5T.get_pad(类型id)返回的填充类型的最低比特填充类型,lsb、和最重要的位填充类型最高有效位指定的数据类型类型id

细节

H5T.get_precision

精确的原子数据类型

精密= H5T.get_precision(类型id)返回一个原子的精确数据类型指定类型id

H5T.get_sign

为整数数据类型标志类型

signtype = H5T.get_sign(类型id)返回类型指定一个整数类型的迹象类型id

细节

H5T.get_strpad

字符串数据类型的存储机制

padtype = H5T.get_strpad(类型id)返回一个字符串的存储机制(填充类型)数据类型。

细节

H5T.set_cset

设置字符字符串数据类型的数据集

H5T.set_cset (typeID cset)设置字符编码用于创建字符串。指定cset作为“H5T_CSET_ASCII”,“H5T_CSET_UTF8”或其等效数值。

H5T.set_ebias

指数偏差的浮点数据类型

H5T.set_ebias (typeID ebias)集指数偏差ebias的浮点数据类型指定类型id

H5T.set_fields

设置浮点一些字段的大小和位置

H5T.set_fields(类型id、检测、叙事诗、esize, mpo、msize)设置位置和大小不同的浮点字段。

细节

H5T.set_inpad

指定如何使用内部碎片

H5T.set_inpad (typeID padType)集有未使用的内部位浮点类型都是指定的数据类型类型id

细节

H5T.set_norm

设置尾数正常化浮点数据类型

H5T.set_norm(类型id、规范)设置尾数正常化的浮点数据类型指定类型id

细节

H5T.set_offset

设置一些抵消第一位

H5T.set_offset(类型id,抵消)设置一些抵消的第一位。类型id是数据类型的标识符。抵消指定的填充的比特数。

H5T.set_order

字节次序的原子数据类型

H5T.set_order(类型id,顺序)设置一个原子数据类型指定的字节顺序类型id

细节

H5T.set_pad

设置为最小和最重要的位填充类型

H5T.set_pad(类型id, lsb (msb)集的填充类型的最低比特填充类型,lsb、和最重要的位填充类型最高有效位指定的数据类型类型id

细节

H5T.set_precision

原子数据类型的精度

H5T.set_precision(类型id, prec)集精密的比特数,前的原子数据类型指定类型id

H5T.set_sign

符号属性设置为整数数据类型

H5T.set_sign(类型id,标志)集的符号属性指定为一个整数类型类型id。指定标志作为“H5T_SGN_NONE”“H5T_SGN_2”

H5T.set_size

设置数据类型的大小(以字节为单位

H5T.set_size (typeID typeSize)设置指定的数据类型大小的字节总数类型id。如果需要一个变长字符串typesize可以指定“H5T_VARIABLE”

H5T.set_strpad

为字符串数据类型设置存储机制

H5T.set_strpad(类型id、存储)定义指定的字符串数据类型的存储机制类型id

细节

复合数据类型

H5T.get_member_class

数据类型类复合数据类型的成员

memclass = H5T.get_member_class(类型id, membno)返回指定的数据类型类复合数据类型的成员membno。的类型id参数是一个复合对象的数据类型标识符。

H5T.get_member_index

复合指数或枚举类型成员

idx = H5T.get_member_index(类型id,名称)返回索引的字段属于一个复合数据类型或元素的枚举数据类型,指定的的名字类型id

H5T.get_member_name

化合物或枚举类型成员的名称

name = H5T.get_member_name (typeID membno)返回的名称字段属于一个复合数据类型或元素的枚举数据类型指定类型id。指定membno作为一个从零开始的索引的字段,或作为一个元素的名称。

H5T.get_member_offset

偏移场的复合数据类型

抵消= H5T.get_member_offset(类型id, membno)返回指定的字节抵消的membno在指定的复合数据类型类型id。的值0是一个有效的抵消。

H5T.get_member_type

指定数据类型的成员

类型id = H5T.get_member_type(类型id, membno)返回指定的数据类型的成员membno在指定的数据类型类型id

H5T.get_nmembers

化合物的元素数量或枚举数据类型

中介= H5T.get_nmembers(类型id)返回字段的数量在一个复合数据类型或成员属于一个枚举数据类型的数量,规定类型id

H5T.insert

将成员添加到复合数据类型

H5T.insert(类型id、名称、抵消membID)将另一个成员添加到指定的复合数据类型类型id

细节

H5T.pack

递归删除填充复合数据类型

H5T.pack(类型id)递归删除从内部填充一个复合数据类型指定类型id使它更有效率(空间)来存储这些数据。

枚举数据类型

H5T.enum_create

创建新枚举数据类型

类型id = H5T.enum_create (parentID)创建一个新的枚举数据类型基于基本数据类型parentID类型id是一个数据类型的标识符为新枚举数据类型。

H5T.enum_insert

插入枚举数据类型成员

H5T.enum_insert(类型id、名称、值)将一个新的枚举数据类型成员插入指定的枚举数据类型类型id。的的名字参数是一个字符串标量或特征向量指定枚举的新成员的名字,和价值成员的值。

H5T.enum_nameof

枚举数据类型成员的名称

name = H5T.enum_nameof (typeID membno)返回对应的符号名称所指定的枚举数据类型的成员类型id

H5T.enum_valueof

枚举数据类型成员的价值

值= H5T.enum_valueof(类型id, membname)返回的值对应于指定的名称所指定的枚举数据类型的成员类型id

H5T.get_member_value

枚举数据类型成员的价值

值= H5T.get_member_value(类型id, membno)返回指定的成员的价值membno属于枚举数据类型指定类型id

不透明的数据类型属性

H5T.get_tag

标签与不透明的数据类型

标签= H5T.get_tag(类型id)返回与指定的不透明的数据类型相关联的标记类型id

H5T.set_tag

标签不透明的数据类型和描述

H5T.set_tag(类型id、标签)标签指定的不透明的数据类型类型id用描述性的文本标签。指定标签作为一个字符串标量或特征向量。

变长数据类型

H5T.is_variable_str

确定数据类型是否变长字符串

输出= H5T.is_variable_str(类型id)如果指定的数据类型返回一个积极的价值类型id是一个变长字符串,0如果它不是。

H5T.vlen_create

创建新的变长数据类型

vlentypeID = H5T.vlen_create (baseID)创建一个新的变长数据类型。baseID指定要创建数据类型的基本类型。

细节

元数据缓存调整属性

H5T.flush

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

H5T.flush(类型id)导致与提交的数据类型相关联的所有缓冲区没有删除的数据刷新到磁盘缓存。

H5T.refresh

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

H5T.refresh(类型id)导致与提交的数据类型相关联的所有缓冲区被清除和持久化,立即更新内容从磁盘。这个函数关闭数据类型,清除所有与之相关的元数据缓存,然后重新打开数据类型相同的标识符。

例子

全部展开

打开一个数据集,复制它的数据类型,然后查询信息。

开放HDF5文件example.h5和数据集“g3 /化合物”

fid = H5F.open (“example.h5”);dsID = H5D.open (fid,“g3 /化合物”);

创建一个数据类型的副本。

类型id = H5D.get_type (dsID);

得到复合成员的名字和索引。

memberName = H5T.get_member_name(类型id, 0);idx = H5T.get_member_index(类型id,“b”);

得到的数据类型类复合数据类型的成员。

memberClass = H5T.get_member_class(类型id, 0);

得到复合数据类型的字段的偏移量。

抵消= H5T.get_member_offset(类型id, 1);

获取指定数据类型的成员。

memberTypeID = H5T.get_member_type(类型id, 0);

字段的数量在一个复合数据集,然后关闭资源。

nmembers = H5T.get_nmembers(类型id);H5T.close (memberTypeID);H5T.close(类型id);H5D.close (dsID);H5F.close (fid);

打开一个数据集与数据类型数组,创建一个复制的数据类型,然后设置复制的属性。

复制数据类型并创建一个数组数据类型对象。

baseTypeID = H5T.copy (“H5T_NATIVE_DOUBLE”);dim = (100 - 200);h5_dims = fliplr (dim);arrayTypeID = H5T.array_create (baseTypeID h5_dims);类型id = H5T.copy (baseTypeID);

设置大小字节的数据类型和查询的大小。

H5T.set_size(typeID, 16); typeSize = H5T.get_size(typeID);

设置一些抵消的第一位,然后查询抵消。

H5T.set_offset(类型id, 8);抵消= H5T.get_offset(类型id);

设置填充类型最少和最重要的部分。

lsb = H5ML.get_constant_value (“H5T_PAD_ONE”);msb = H5ML.get_constant_value (“H5T_PAD_ZERO”);H5T.set_pad(类型id, lsb (msb);

检索填充。

[lsb_ret, msb_ret] = H5T.get_pad(类型id);开关(lsb_ret)情况下H5ML.get_constant_value (“H5T_PAD_ZERO”)流(“lsb垫类型是0 \ n”);情况下H5ML.get_constant_value (“H5T_PAD_ONE”);流(“\ n”lsb垫类型);情况下H5ML.get_constant_value (“H5T_PAD_BACKGROUND”)流(“lsb垫类型背景\ n”);结束开关(msb_ret)情况下H5ML.get_constant_value (“H5T_PAD_ZERO”)流(“msb垫类型是0 \ n”);情况下H5ML.get_constant_value (“H5T_PAD_ONE”);流(“msb垫类型\ n”);情况下H5ML.get_constant_value (“H5T_PAD_BACKGROUND”)流(“msb垫类型背景\ n”);结束

关闭资源。

H5T.close(类型id);H5T.close (baseTypeID);

创建一个复合数据类型,然后添加成员。

创建一个新的复合数据类型。

类型id = H5T.create (“H5T_COMPOUND”16);

将成员添加到复合数据类型。

H5T.insert(类型id,“第一”0,“H5T_NATIVE_DOUBLE”);H5T.insert(类型id,“第二”8“H5T_NATIVE_INT”);H5T.insert(类型id,“第三”12“H5T_NATIVE_UINT”);

锁的数据类型。如果你试图将新成员添加到数据类型后锁定,操作将会失败。

H5T.lock(类型id) H5T.insert(类型id,“四”12“H5T_NATIVE_UINT”);%这应该失败。

关闭资源。

H5T.close(类型id);

确定两个数据类型是相等的。

打开数据集“g3 / integer2D”和数据类型。

fid = H5F.open (“example.h5”);dsID = H5D.open (fid,“g3 / integer2D”);dtypeID = H5D.get_type (dsID);

检查数据类型的dtypeID等于HDF5数据类型“H5T_STD_I32LE”。然后,关闭数据类型、数据集和HDF5文件。

如果H5T.equal (dtypeID“H5T_STD_I32LE”)流(“32位小端字节整数\ n”);结束H5T.close (dtypeID);H5D.close (dsID);H5F.close (fid);

版本历史

之前介绍过的R2006a

全部展开