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モジュールが導入されました.