2D массив структур
#include "matrix.h" mxArray *mxCreateStructMatrix(mwSize m, mwSize n, int nfields, const char **fieldnames);
#include "fintrf.h" mwPointer mxCreateStructMatrix(m, n, nfields, fieldnames) mwSize m, n integer*4 nfields character*(*) fieldnames(nfields)
m
Количество строк; должно быть положительное целое число.
n
Количество столбцов; должно быть положительное целое число.
nfields
Количество полей в каждом элементе.
имена полей
Список имен полей.
Каждое имя поля структуры должно начаться с буквы и является чувствительным к регистру. Остальная часть имени может содержать буквы, цифры и символы подчеркивания. Чтобы определить максимальную длину имени поля, используйте функцию namelengthmax
.
Указатель на созданный mxArray
, в случае успеха. Если неудачный в автономном (нефайл MEX) приложение, возвращает NULL
в C (0
на Фортране). Если неудачный в файле MEX, файл MEX отключает и возвращает управление в подсказку MATLAB®. Функция неудачна, когда существует недостаточно свободного пространства "кучи", чтобы создать mxArray
.
mxCreateStructMatrix
и mxCreateStructArray
почти идентичны. Единственная разница - то, что mxCreateStructMatrix
может создать только двумерный mxArrays
, в то время как mxCreateStructArray
может создать mxArray
, имеющий две или больше размерности.