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Количество размерностей в созданной камере. Например, чтобы создать трехмерную камеру mxArray, задать ndim по 3.
dimsРазмерности. Каждый элемент массива размерностей содержит размер mxArray в этой размерности. Для примера в C установка dims[0] на 5 и dims[1] на 7 устанавливает 5-by- 7
mxArray. В ФОРТРАН установка dims(1) на 5 и dims(2) на 7 устанавливает 5-by- 7
mxArray. Обычно, dims массив содержит ndim элементы.
Указатель на созданную mxArray. При неудаче в автономном (не-MEX-файле) приложении возвращается NULL в C (0 на Фортране). При неудаче в файле MEX файл MEX завершает работу и возвращает управление в MATLAB® приглашение. Функция неудачна, когда не хватает свободного пространства в куче, чтобы создать mxArray.
Использовать mxCreateCellArray для создания камеры mxArray с размером, заданным ndim и dims. Например, на C, чтобы установить трехмерную камеру mxArray имеющих размерности 4-by- 8-by- 7, установите:
ndim = 3; dims[0] = 4; dims[1] = 8; dims[2] = 7;
В Фортране установить трехмерную камеру mxArray имеющих размерности 4-by- 8-by- 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-by- 1-by- 7.