matlab.io.hdf4.sd.setFillMode

Пакет: matlab.io.hdf4.sd

Установите текущий режим заливки файла

Синтаксис

prevmode = setFillMode(sdID,fillmode)

Описание

prevmode = setFillMode(sdID,fillmode) возвращает предыдущий режим заливки файла и сбрасывает его в fillmode. Этот параметр применяется ко всем наборам данных, содержащимся в файле, идентифицированном как sdID.

Возможные значения fillmode являются 'fill', и 'nofill'. 'fill' является режимом по умолчанию и указывает, что значения заливки будут записаны при создании набора данных. 'nofill' указывает, что значения заливки не будут записаны.

Когда создается набор данных фиксированного размера, первый вызов для sd.writeData заполнит весь набор данных значением заливки по умолчанию или пользовательским значением заливки, если fillmode является 'fill'. В наборах данных с неограниченной размерностью, если новая операция записи происходит вдоль неограниченного измерения за пределами последнего местоположения предыдущей операции записи, местоположения массива между этими записанными областями будут инициализированы в пользовательское значение заливки или значение заливки по умолчанию, если заданное пользователем значение заливки не было задано.

Если точно, что все значения набора данных будут записаны до выполнения любой операции чтения, нет необходимости записывать значения заливки. Вызывающие sd.setFillMode с 'nofill' может улучшить эффективность в этом случае.

Эта функция соответствует SDsetfillmode функция в библиотеке HDF С API.

Примеры

Напишите две частичные записи. Напишите первое в 'nofill' mode, и второй с 'fill' режим.

import matlab.io.hdf4.*
sdID = sd.start('myfile.hdf','create');
sd.setFillMode(sdID,'nofill');
sdsID = sd.create(sdID,'temperature','double',[10 10 0]);
sd.writeData(sdsID,[0 0 0], rand(5,5));
sd.setFillMode(sdID,'fill');
sd.setFillValue(sdsID,-999);
sd.writeData(sdsID,[0 0 1], rand(5,5));
sd.endAccess(sdsID);
sd.close(sdID);