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');
参考
insertATbl
| insertBTbl
| readCol
| writeCol
| createImg