Main Content

matlab.io.fits.createTbl

新しい ASCII またはバイナリ テーブル拡張の作成

構文

fptr = createTbl(fptr,tbltype,nrows,ttype,tform,tunit,extname)

説明

fptr = createTbl(fptr,tbltype,nrows,ttype,tform,tunit,extname) は、新しい ASCII または bintable テーブル拡張を作成します。tbltype は、'binary' または 'ascii' のいずれかでなければなりません。nrows 引数は、テーブルに作成される行の初期数を示し、通常はゼロでなければなりません。tunit には各列の単位を指定しますが、単位が必要ない場合は空の cell 配列にできます。extname には拡張名を指定しますが省略できます。

tform には、文字ベクトルの cell 配列または string 配列として指定された、列の形式が格納されます。バイナリ テーブルの場合、値は 'rt' の形式でなければなりません。ここで、'r' は反復回数、't' は次の文字のいずれかです。

'A'ASCII 文字
'B'バイトまたは uint8
'C'複素数 (単精度)
'D'倍精度
'E'単精度
'I'int16
'J'int32
'K'int64
'L'論理値
'M'複素数 (倍精度)
'X'ビット (int8 0 と 1)

tform 値の形式が '1Pt' または'1Qt' の場合、列を可変幅をもつものとして指定できます。ここで、't' には上記のデータ型を指定します。

ASCII テーブルの場合、tform には次の形式の値が格納されます。

'Iw'int16 列、幅は 'w'
'Aw'ASCII 列、幅は 'w'
'Fww.dd'固定小数点
'Eww.dd' 'ww'、精度 'dd' の単精度
'Dww.dd''ww'、精度 'dd' の倍精度

この関数は、CFITSIO ライブラリ C API の関数 fits_create_tbl(ffcrtb) に相当します。

バイナリ テーブルを作成します。1 列目には、それぞれ 9 文字で構成される文字列が含まれます。2 列目にはビットの 4 つの要素をもつシーケンスが含まれます。3 列目には uint8 値の 3 つの要素をもつシーケンスが含まれます。4 列目には、倍精度スカラーが含まれます。

import matlab.io.*
fptr = fits.createFile('myfile.fits');
ttype = {'Col1','Col2','Col3','Col4'};
tform = {'9A','4X','3B','1D'};
tunit = {'m/s','kg','kg/m^3','candela'};
fits.createTbl(fptr,'binary',10,ttype,tform,tunit,'my-table');
fits.closeFile(fptr);
fitsdisp('myfile.fits');

1 列目に 1 つの倍精度値が含まれ、2 列目には可変長の倍精度値が含まれる 2 列で構成されるテーブルを作成します。

import matlab.io.*
fptr = fits.createFile('myfile2.fits');
ttype = {'Col1','Col2'};
tform = {'1D','1PD'};
fits.createTbl(fptr,'binary',0,ttype,tform);
fits.closeFile(fptr);
fitsdisp('myfile2.fits');