Массив ячеек N-D
#include "matrix.h" mxArray *mxCreateCellArray(mwSize ndim, const mwSize *dims);
#include "fintrf.h" mwPointer mxCreateCellArray(ndim, dims) mwSize ndim mwSize dims(ndim)
ndimКоличество размерностей в созданной ячейке. Например, чтобы создать 3D ячейку mxArray, установите ndim к 3.
dimsМассив размерностей. Каждый элемент в массиве размерностей содержит размер mxArray в той размерности. Например, в C, установке dims[0] к 5 и dims[1] к 7 устанавливает 5- 7
mxArray. На Фортране, установке dims(1) к 5 и dims(2) к 7 устанавливает 5- 7
mxArray. Обычно, dims массив содержит ndim элементы.
Указатель на созданный mxArray. Если неудачный в автономном (нефайл MEX) приложение, возвращает NULL в C (0 на Фортране). Если неудачный в файле MEX, файл MEX отключает и возвращает управление в MATLAB® подсказка. Функция неудачна, когда существует недостаточно свободного пространства "кучи", чтобы создать mxArray.
Использование mxCreateCellArray создать ячейку mxArray с размером, заданным ndim и dims. Например, в C, чтобы установить 3D ячейку mxArray наличие размерностей 4- 8- 7Набор:
ndim = 3; dims[0] = 4; dims[1] = 8; dims[2] = 7;
На Фортране, чтобы установить 3D ячейку mxArray наличие размерностей 4- 8- 7Набор:
ndim = 3; dims(1) = 4; dims(2) = 8; dims(3) = 7;
Созданная ячейка mxArray безлюдно; mxCreateCellArray инициализирует каждую ячейку к NULL. Чтобы поместить данные в ячейку, вызвать mxSetCell.
MATLAB автоматически удаляет любые запаздывающие одноэлементные размерности, заданные в dims аргумент. Например, если ndim равняется 5 и dims равняется [4 1 7 1 1], затем полученный массив имеет размерности 4- 1- 7.