Каждый HDF4 API включает много отдельных стандартных программ, которые вы используете, чтобы считать данные из файлов, записываете данные к файлам и выполняете другие связанные функции. Например, API научных данных (SD) HDF4 включает отдельные стандартные программы C, чтобы открыться (SDopen
), близкий (SDend
), и считать данные (SDreaddata
). Для SD API и HDF-EOS GD и API SW, MATLAB® обеспечивает функции, которые сопоставляют со стандартными программами индивидуума C в библиотеке HDF4. Эти функции реализованы в matlab.io.hdf4.sd
, matlab.io.hdfeos.gd
и пакетах matlab.io.hdfeos.sw
. Например, SD API включает стандартный SDendaccess
C, чтобы закрыть набор данных HDF4:
status = SDendaccess(sds_id); /* C code */
Чтобы вызвать эту стандартную программу от MATLAB, используйте функцию MATLAB, matlab.io.hdf4.sd.endAccess
. Синтаксис подобен:
sd.endAccess(sdsID)
Поскольку остающееся поддержало API HDF4, MATLAB обеспечивает единственную функцию, которая служит шлюзом ко всем стандартным программам в конкретном HDF4 API. Например, Аннотации HDF (AN) API включают стандартный ANend
C, чтобы отключить доступ к интерфейсу AN:
status = ANend(an_id); /* C code */
Чтобы вызвать эту стандартную программу от MATLAB, используйте функцию MATLAB, сопоставленную с API AN, hdfan
. Необходимо задать имя стандартной программы, минус акроним API, в качестве первого аргумента и передать любые другие обязательные аргументы стандартной программе в порядке, они ожидаются. Например,
status = hdfan('end',an_id);
Некоторые стандартные программы HDF4 API используют выходные аргументы, чтобы возвратить данные. Поскольку MATLAB не поддерживает выходные аргументы, необходимо задать эти аргументы как возвращаемые значения.
Например, стандартная программа ANget_tagref
возвращает номер тега и ссылочный номер аннотации в двух выходных аргументах, ann_tag
и ann_ref
. Вот код С:
status = ANget_tagref(an_id,index,annot_type,ann_tag,ann_ref);
Чтобы вызвать эту стандартную программу от MATLAB, измените выходные аргументы в возвращаемые значения:
[tag,ref,status] = hdfan('get_tagref',AN_id,index,annot_type);
Задайте возвращаемые значения в том же порядке, как они появляются как выходные аргументы. Функциональное возвращаемое значение состояния всегда задается как последнее возвращаемое значение.