Определите, является ли массив объектом заданного класса
#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
ложь
) в противном случае.
Каждый mxArray
помечен как являющийся определенным типом. Вызовите mxIsClass
определить ли заданный mxArray
имеет этот тип. MATLAB не проверяет, выведен ли класс из базового класса.
В C:
mxIsClass(pm, "double");
эквивалентно вызову любой из этих форм:
mxIsDouble(pm); strcmp(mxGetClassName(pm), "double");
На Фортране:
mxIsClass(pm, 'double')
эквивалентно вызову любого следующего:
mxIsDouble(pm) mxGetClassName(pm) .eq. 'double'
Является самым эффективным использовать mxIsDouble
форма.