# h5dataset

データセットを作成し, データを書き込む

## 呼び出し手順

                h5dataset(obj, name, sourceInfo [, sourceType], data, targetInfo [, targetType])

                h5dataset(filename, name, sourceInfo [, sourceType], data, targetInfo [, targetType])

## 引数

obj

  H5Object

name

  新規データセットへのパスを指定する文字列

sourceInfo

  5 x n のdouble行列

sourceType

  ソースの型を指定する文字列

data

  Scilabデータ

targetInfo

  6 x n のdoubleの行列

targetType

  目標の型を指定する文字列

filename

  ファイル名を指定する文字列

## 説明

引数として指定されたScilabデータに基づき,

名前を指定して(まだ存在しない場合に)新規にデータセットを作成します.

ターゲットのHDF5型は,

HDF5マニュアルで利用可能なリストの中から選択できます.

このHDF5型の例は"H5T_MIPS_U32" または "H5T_STD_B64BE"ですが,

"MIPS_U32" または "STD_B64BE" のような短縮形も使用可能です.

ソース情報はデータを取得する方法に関する情報を指定します.

これは 5xn の行列です.ただし,nはデータの次元数です.

行は以下の情報を指定します:

- 1行目: データの次元.

- 2行目: hyperslabのstart.

- 3行目: hyperslabのカウント.

- 4行目: hyperslabのstride.

- 5行目: hyperslabのblock.

hyperslab選択に関する詳細については,

h5writeを参照ください.

targetInfo行列は 6xn の double 行列です. 最初の行は

ターゲットのデータセットの次元,

2行目は次元の最大値を指定します.

1行目と2行目が等しくない場合,

データセットは分割されます.

3から6行目はhyperslabのstart, count, stride, block を指定します.

## 例

    // HDF5ファイルを新規に作成
    a = h5open(TMPDIR + "/test.h5", "w")

    // データ
    x = uint32(1:100);
    y = uint32(1:9);

    // データセットを作成
    // x はC-行列として見えます (行優先)
    h5dataset(a, "My_Dataset", [10 10 ; 2 1 ; 4 1 ; 2 1 ; 1 9], x, [7 12 ; 9 14 ; 3 3 ; 1 1 ; 1 1 ; 4 9])
    h5dump(a, "My_Dataset");

    // 既存のデータセットの次元を拡張子,yデータを追加
    h5dataset(a, "My_Dataset", [9 1 ; 1 1 ; 1 1 ; 1 1 ; 9 1], y, [9 12 ; 9 14 ; 1 1 ; 1 1 ; 1 1 ; 9 1])
    h5dump(a, "My_Dataset");

    // yデータを置換
    h5dataset(a, "My_Dataset", [9 1 ; 1 1 ; 1 1 ; 1 1 ; 9 1], uint32(11:19), [9 12 ; 9 14 ; 1 1 ; 1 1 ; 1 1 ; 9 1])
    h5dump(a, "My_Dataset");

    // リソースを解放
    h5close(a)

## 参照

- h5group

- h5attr

- h5write

- h5writeattr

## 履歴

5.5.0
HDF5モジュールが導入されました.