Измените количество размерностей и размер каждой размерности
#include "matrix.h" int mxSetDimensions(mxArray *pm, const mwSize *dims, mwSize ndim);
mxSetDimensions возвращает 0 на успехе и 1 onFailure. mxSetDimensions выделяет пространство "кучи", чтобы содержать входной массив размера. Таким образом, это возможно (хотя вряд ли), что увеличение числа размерностей может заставить систему исчерпывать пространство "кучи".
Вызвать mxSetDimensions изменять существующий mxArray. mxSetDimensions похож mxSetM и mxSetN; однако, mxSetDimensions обеспечивает большее управление для изменения mxArray это имеет больше чем две размерности.
mxSetDimensions не выделяет или освобождает любой пробел для pr или pi массивы. Так, если ваш вызов mxSetDimensions увеличивает число элементов в mxArray, затем увеличьте pr (и pi, если это существует), массивы соответственно.
Если ваш вызов mxSetDimensions уменьшает число элементов в mxArray, затем можно опционально уменьшать размер pr и pi использование массивов mxRealloc.
MATLAB® автоматически удаляет любые запаздывающие одноэлементные размерности, заданные в dims аргумент. Например, если ndim равняется 5 и dims равняется [4 1 7 1 1], затем полученный массив имеет размерности 4- 1- 7.