Создайте новый ASCII или бинарное табличное расширение
fptr = createTbl(fptr,tbltype,nrows,ttype,tform,tunit,extname)
fptr = createTbl(fptr,tbltype,nrows,ttype,tform,tunit,extname)
создает новый ASCII или bintable табличное расширение. ttype
должен быть или 'binary'
или 'ascii'
. Аргумент nrows
дает начальное количество строк, которые будут созданы в таблице, и должен обычно быть нулем. tunit
задает модули для каждого столбца, но может быть массивом пустой ячейки, если никакие модули не желаемы. extname
задает дополнительное имя, но может быть не использован.
tform
содержит формат столбца, заданного как массив ячеек из символьных векторов или массив строк. Для бинарных таблиц значения должны быть в форме 'rt'
, где 'r'
является повторным счетом, и 't'
является одной из следующих букв.
'A' | Символ ASCII |
'B' | Байт или uint8 |
'C' | Комплекс (одинарная точность) |
'D' | Двойная точность |
'E' | Одинарная точность |
'I' | int16 |
'J' | int32 |
'K' | int64 |
'L' | Логический |
'M' | Комплекс (двойная точность) |
'X' | Бит (нули int8 и единицы) |
Столбец может также быть задан как имеющий переменную ширину, если значение tform
имеет форму '1Pt'
или '1Qt'
, где 't'
задает тип данных как выше.
Для таблиц ASCII tform
содержит значения, которые принимают форму:
'Iw' | Столбец int16 с шириной 'w' |
'Ай' | Столбец ASCII с шириной 'w' |
'Fww.dd' | Фиксированная точка |
'Eww.dd' | Одинарная точность с шириной 'ww' и точность 'dd' |
'Dww.dd' | Двойная точность с шириной 'ww' и точность 'dd' |
Эта функция соответствует функции fits_create_tbl(ffcrtb)
в API библиотеки CFITSIO C.
Составьте бинарную таблицу. Первый столбец содержит строки девяти символов каждый. Второй столбец содержит четырехэлементные последовательности битов. Третий столбец содержит трехэлементные последовательности значений 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');
Составьте таблицу 2D столбца, где первый столбец имеет одно значение с двойной точностью, но второй столбец имеет переменную длину значение с двойной точностью.
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');
createImg
| insertATbl
| insertBTbl
| readCol
| writeCol