Main Content

matlab.io.fits.writeCol

ASCII またはバイナリ テーブル列への要素の書き込み

構文

writeCol(fptr,colnum,firstrow,coldata)

説明

writeCol(fptr,colnum,firstrow,coldata) は、ASCII またはバイナリ テーブル拡張列に要素を書き込みます。

メモ

関数 writeCol を使用して複素数データを非複素数データ型で定義された列に書き込む場合、writeCol は虚数部を無視して、実数部のみを列に書き込みます。複素数データを正しく書き込むには、関数 createTbltform 引数を使用して 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');