hdfvs
HDF Vdata インターフェイスの VS 関数へのゲートウェイ
構文
[out1,...,outN] = hdfvs(funcstr,input1,...,inputN)
説明
hdfvs
は HDF Vdata インターフェイスの VS 関数への MATLAB® ゲートウェイです。
[out1,...,outN] = hdfvs(funcstr,input1,...,inputN)
は、functstr
で指定された HDF ライブラリの VS 関数に対応する 1 つ以上の出力値を返します。
HDF ライブラリの VS 関数と funcstr
の有効値の間には 1 対 1 の対応があります。たとえば、hdfvs('detach',vdata_id)
はC ライブラリの呼び出し VSdetach(vdata_id)
に相当します。
アクセス関数
アクセス関数は vdata に接続します。つまり、これによって vdata に対するアクセスすることができます。データ転送は 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 数値型を含む文字ベクトルまたは string スカラーです。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 に書き込みます。data は nfields 行 1 列の cell 配列でなければなりません。各セルには order(i) 行 n 列のデータ ベクトルが含まれていなければなりません。ここで、order(i) は各フィールドのスカラー値の数です。データ型は hdfvs('setfields') を介して設定されたフィールド型、または既存の vdata のフィールドに一致しなければなりません。 |
'read' | [data,count] = hdfvs('read',vdata_id,n) | vdata から読み取ります。データは nfields 行 1 列の cell 配列で返されます。各セルには 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' に設定します。vdata フィールドに追加された属性を取得するには、field_index をフィールドの数値インデックスに設定します。 |
'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 より前に導入