Определите, является ли массив объектом заданного класса
#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
.