Массив структур к объектному массиву MATLAB
Используйте mxSetClassName
для классов, заданных без оператора classdef
.
#include "matrix.h" int mxSetClassName(mxArray *array_ptr, const char *classname);
array_ptr
Указатель на mxArray
класса mxSTRUCT_CLASS
classname
Класс объекта, в который можно преобразовать array_ptr
0
в случае успеха, и ненулевой в противном случае. Одна причина отказа состоит в том, что array_ptr
не является структурой mxArray
. Вызовите mxIsStruct
, чтобы определить, является ли array_ptr
структурой.
mxSetClassName
преобразовывает массив структур в объектный массив, чтобы быть сохраненным позже в MAT-файл. MATLAB® не указывает или подтверждает объект, пока это не загружается командой LOAD
. Если заданный classname
является неопределенным классом в MATLAB, то LOAD
преобразовывает объект назад в простой массив структур.