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