hdfvs
HDF Vdata 接口中 VS 函数的入口
语法
[out1,...,outN] = hdfvs(funcstr,input1,...,inputN)
说明
hdfvs
是 HDF Vdata 接口中 VS 函数的 MATLAB® 入口。
[out1,...,outN] = hdfvs(funcstr,input1,...,inputN)
返回与 HDF 库中由 functstr
指定的 VS 函数对应的一个或多个输出。
HDF 库中的 VS 函数与 funcstr
的有效值之间存在一对一的对应关系。例如,hdfvs('detach',vdata_id)
对应于 C 库调用 VSdetach(vdata_id)
。
访问函数
访问函数连接或允许访问 vdata。只有在访问了 vdata 之后才会进行数据传输。当数据传输完成时,这些例程将与 vdata 分离或正确终止对其的访问。
funcstr 的值 | 函数语法 | 说明 |
---|---|---|
'attach' | vdata_id = hdfvs('attach',file_id,vdata_ref,access) | 建立对指定 vdata 的访问。access 可以是 'r' 或 'w' 。 |
'detach' | status = hdfvs('detach',vdata_id) | 终止对指定 vdata 的访问。 |
读取和写入函数
读取和写入函数可以读取和写入 vdata 的内容。
funcstr 的值 | 函数语法 | 说明 |
---|---|---|
'fdefine' | status = hdfvs('fdefine',vdata_id,fieldname,data_type,order) | 定义一个新的 vdata 字段。data_type 是一个字符向量或字符串标量,其中包含 HDF 数值类型。可将 data_type 指定为下列值之一:'uchar8' 、'uchar' 、'char8' 、'char' 、'double' 、'uint8' 、'uint16' 、'uint32' 、'float' 、'int8' 、'int16' 或 'int32' 。 |
'setclass' | status = hdfvs('setclass',vdata_id,class) | 为 vdata 分配一个类。 |
'setfields' | status = hdfvs('setfields',vdata_id,fields) | 指定要写入的 vdata 字段。 |
'setinterlace' | status = hdfvs('setinterlace',vdata_id,interlace) | 设置 vdata 的交错模式。interlace 可以是 'full' 或 'no' 。 |
'setname' | status = hdfvs('setname',vdata_id,name) | 为 vdata 分配一个名称。 |
'write' | count = hdfvs('write', vdata_id, data) | 写入 vdata。数据必须为 nfields ×1 元胞数组。每个元胞必须包含一个 order(i) ×n 数据向量,其中 order(i) 是每个字段中标量值的数目。数据类型必须与通过 hdfvs('setfields') 设置的字段类型或已存在的 vdata 中的字段匹配。 |
'read' | [data,count] = hdfvs('read',vdata_id,n) | 读取 vdata。在一个 nfields ×1 元胞数组中返回数据。每个元胞包含一个 order(i) ×n 数据向量,其中 order 是每个字段中标量值的数目。字段的返回顺序与在 hdfvs('setfields',...) 中指定的顺序相同。 |
'seek' | pos = hdfvs('seek',vdata_id,record) | 寻找 vdata 中的指定记录。 |
'setattr' | status = hdfvs('setattr',vdata_id,field_index,name,A) | 设置 vdata 字段或 vdata 的属性。 |
'setexternalfile' | status = hdfvs('setexternalfile',vdata_id,filename,offset) | 将 vdata 信息存储在一个外部文件中。 |
'getattr' | [value,status] = hdfvs('getattr',vdata_id,field_index,attr_index) | 读取附加到 vdata 或 vdata 字段的属性的值。将 field_index 设置为 'vdata' 以检索附加到字段自身的属性。将 field_index 设置为字段的数值索引,以检索附加到 vdata 字段的属性。 |
'setattr' | status = hdfvs('setattr',vdata_id,field_index,name,A) | 设置 vdata 字段或 vdata 的属性。field_index 可以是索引编号或 'vdata' 。 |
文件查询函数
文件查询函数提供有关 vdata 在文件中的存储方式的信息。可以使用这些信息来定位文件中的 vdata。
funcstr 的值 | 函数语法 | 说明 |
---|---|---|
'find' | vdata_ref = hdfvs('find',file_id,vdata_name) | 在指定的 HDF 文件中搜索给定的 vdata 名称。 |
'findclass' | vdata_ref = hdfvs('findclass',file_id,vdata_class) | 返回对应于指定 vdata 类的第一个 vdata 的引用编号。 |
'getid' | next_ref = hdfvs('getid',file_id,vdata_ref) | 返回文件中下一个 vdata 的标识符。 |
'lone' | [refs,count] = hdfvs('lone',file_id,maxsize) | 返回未链接到 vgroup 的 vdata 的引用编号。 |
Vdata 查询函数
Vdata 查询函数提供有关给定 vdata 的特定信息,包括 vdata 的名称、类、字段数、记录数、标记和参考对组、交错模式和大小。
funcstr 的值 | 函数语法 | 说明 |
---|---|---|
'fexist' | status = hdfvs('fexist',vdata_id,fields) | 测试指定 vdata 中是否存在字段。 |
'inquire' | [n,interlace,fields,nbytes,vdata_name,status] = ... hdfvs('inquire',vdata_id) | 返回有关指定 vdata 的信息。 |
'elts' | count = hdfvs('elts',vdata_id) | 返回指定 vdata 中的记录数。 |
'getclass' | [class_name,status] = hdfvs('getclass',vdata_id) | 返回指定的 vdata 的 HDF 类。 |
'getfields' | [field_names,count] = hdfvs('getfields',vdata_id) | 返回指定 vdata 中的所有字段名称。 |
'getinterlace' | [interlace,status] = hdfvs('getinterlace',vdata_id) | 检索指定 vdata 的交错模式。 |
'getname' | [vdata_name,status] = hdfvs('getname',vdata_id) | 检索指定 vdata 的名称。 |
'getversion' | version = hdfvs('getversion',vdata_id) | 返回 vdata 的版本号。 |
'sizeof' | nbytes = hdfvs('sizeof',vdata_id,fields) | 返回指定的 vdata 的字段大小。 |
'Queryfields' | [fields,status] = hdfvs('Queryfields',vdata_id) | 返回指定的 vdata 的字段名称。 |
'Queryname' | [name,status] = hdfvs('Queryname',vdata_id) | 返回指定 vdata 的名称。 |
'Queryref' | ref = hdfvs('Queryref',vdata_id) | 检索指定 vdata 的引用编号。 |
'Querytag' | tag = hdfvs('Querytag',vdata_id) | 检索指定 vdata 的标记。 |
'Querycount' | [count,status] = hdfvs('Querycount',vdata_id) | 返回指定 vdata 中的记录数。 |
'Queryinterlace' | [interlace,status] = hdfvs('Queryinterlace',vdata_id) | 返回指定的 vdata 的交错模式。 |
'Queryvsize' | vsize = hdfvs('Queryvsize',vdata_id) | 检索指定 vdata 记录的本地大小(以字节为单位)。 |
'findex' | [field_index,status] = hdfvs('findex',vdata_id,fieldname) | 查询给定字段名称的 vdata 字段的索引。 |
'nattrs' | count = hdfvs('nattrs',vdata_id) | 返回指定 vdata 及其中包含的 vdata 字段的属性的数目。 |
'fnattrs' | count = hdfvs('fnattrs',vdata_id,field_index) | 查询 vdata 属性的总数。 |
'findattr' | attr_index = hdfvs('findattr',vdata_id,field_index,attr_name) | 检索具有给定属性名称的属性的索引。 |
'isattr' | tf = hdfvs('isattr',vdata_id) | 确定给定的 vdata 是否为属性。 |
'attrinfo' | [name,data_type,count,nbytes,status] = hdfvs('attrinfo',... vdata_id,field_index,attr_index) | 返回指定 vdata 字段或 vdata 的指定属性的名称、数据类型、值数和值大小。 |
输出参数
status
或标识符输出为 -1 表示操作失败。
版本历史记录
在 R2006a 之前推出