matlab.io.fits.writeCol
ASCII またはバイナリ テーブル列への要素の書き込み
構文
writeCol(fptr,colnum,firstrow,coldata)
説明
writeCol(fptr,colnum,firstrow,coldata)
は、ASCII またはバイナリ テーブル拡張列に要素を書き込みます。
メモ
関数 writeCol
を使用して複素数データを非複素数データ型で定義された列に書き込む場合、writeCol
は虚数部を無視して、実数部のみを列に書き込みます。複素数データを正しく書き込むには、関数 createTbl
の tform
引数を使用して table の列の形式を適切に定義します。
データの行を可変長フィールドに書き込む場合、coldata
は cell 配列にしなければなりません。
この関数は、CFITSIO ライブラリ C API の関数 fits_write_col (ffpcl)
に相当します。
例
ASCII、uint8
、倍精度および可変長倍精度の列をもつテーブルに書き込みます。
import matlab.io.* fptr = fits.createFile('myfile.fits'); ttype = {'Col1','Col2','Col3','Col4'}; tform = {'3A','3B','1D','1PD'}; tunit = {'m/s','kg/m^3','candela','parsec'}; fits.createTbl(fptr,'binary',0,ttype,tform,tunit,'my-table'); fits.writeCol(fptr,1,1,['dog'; 'cat']); fits.writeCol(fptr,2,1,[0 1 2; 3 4 5; 6 7 8; 9 10 11]); fits.writeCol(fptr,3,1,[1; 2; 3; 4]); fits.writeCol(fptr,4,1,{1;[1 2];[1 2 3];[1 2 3 4]}); fits.closeFile(fptr); fitsdisp('myfile.fits','index',2,'mode','full');
論理、ビット、倍精度および可変長の複素数単精度の列をもつテーブルに書き込みます。
import matlab.io.* fptr = fits.createFile('myfile.fits'); ttype = {'Col1','Col2','Col3','Col4'}; tform = {'2L','3X','1D','1PC'}; tunit = {'','kg/m^3','candela','parsec'}; fits.createTbl(fptr,'binary',0,ttype,tform,tunit,'my-table'); fits.writeCol(fptr,1,1,[false false; true false]); fits.writeCol(fptr,2,1,int8([0 1 1; 1 1 1; 1 1 1; 1 0 1])); fits.writeCol(fptr,3,1,[1; 2; 3; 4]); data = cell(4,1); data{1} = single(1); data{2} = single(1+2j); data{3} = single([1j 2 3+j]); data{4} = single([1 2+3j 3 4]); fits.writeCol(fptr,4,1,data); fits.closeFile(fptr); fitsdisp('myfile.fits','index',2,'mode','full');