Массив ячеек 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
.