Определите, является ли массив объектом заданного класса
#include "matrix.h" bool mxIsClass(const mxArray *pm, const char *classname);
#include "fintrf.h" integer*4 mxIsClass(pm, classname) mwPointer pm character*(*) classname
\pmУказатель на mxArray
className
Категория массивов, чтобы протестировать. Задайте classname как строку (не как целочисленный идентификатор). Можно задать любую из следующих предопределенных констант:
|
Значение |
Соответствующий класс |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В таблице <class_name> представляет имя определенного пользовательского объекта MATLAB®. Можно также задать одни из собственных имен классов.
Логический 1 (true), если pm указывает на массив, имеющий категорию classname и логический 0 (false) в противном случае.
Каждый mxArray помечен как являющийся определенным типом. Вызовите mxIsClass, чтобы определить, имеет ли заданный mxArray этот тип. MATLAB не проверяет, выведен ли класс от базового класса.
В C:
mxIsClass(pm, "double");
эквивалентно вызову любой из этих форм:
mxIsDouble(pm); strcmp(mxGetClassName(pm), "double");
На Фортране:
mxIsClass(pm, 'double')
эквивалентно вызову любого следующего:
mxIsDouble(pm) mxGetClassName(pm) .eq. 'double'
Является самым эффективным использовать форму mxIsDouble.