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
.