Main Content

matlab.io.fits.createTbl

새 ASCII 또는 Binary 테이블 확장 생성

구문

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

설명

fptr = createTbl(fptr,tbltype,nrows,ttype,tform,tunit,extname)은 새 ASCII 또는 bintable 테이블 확장을 만듭니다. tbltype'binary'이거나 'ascii'여야 합니다. nrows 인수는 테이블에 생성할 초기 행 개수를 지정하며, 일반적으로 0이어야 합니다. tunit은 각 열의 단위를 지정하지만, 원하는 단위가 없는 경우 빈 셀형 배열이 될 수 있습니다. extname은 확장 이름을 지정하며, 생략 가능합니다.

tform은 열의 형식을 포함하며, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. Binary 테이블의 경우 값은 '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'너비가 'w'인 ASCII 열
'Fww.dd'고정소수점
'Eww.dd' 너비가 'ww'이고 정밀도가 'dd'인 단정밀도
'Dww.dd'너비가 'ww'이고 정밀도가 'dd'인 배정밀도

이 함수는 CFITSIO 라이브러리 C API의 fits_create_tbl(ffcrtb) 함수에 대응합니다.

예제

Binary 테이블을 만듭니다. 첫 번째 열에는 각각 9자로 된 문자열이 포함됩니다. 두 번째 열에는 요소를 4개 가진 비트의 시퀀스가 포함됩니다. 세 번째 열에는 요소를 3개 가진 uint8형 값의 시퀀스가 포함됩니다. 네 번째 열에는 배정밀도 스칼라가 포함됩니다.

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');

첫 번째 열에는 단일 배정밀도 값이 포함되고 두 번째 열에는 가변 길이 배정밀도 값이 포함된 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');