Измените количество размерностей и размер каждой размерности
#include "matrix.h" int mxSetDimensions(mxArray *pm, const mwSize *dims, mwSize ndim);
#include "fintrf.h" integer*4 mxSetDimensions(pm, dims, ndim) mwPointer pm mwSize ndim mwSize dims(ndim)
pmУказатель на mxArray
dimsМассив размерностей. Каждый элемент в массиве размерностей содержит размер массива в той размерности. Например, в C, установке dims[0] к 5 и dims[1] к 7 устанавливает 5- 7
mxArray. На Фортране, установке dims(1) к 5 и dims(2) к 7 устанавливает 5- 7
mxArray. В большинстве случаев существует ndim элементы в dims массив.
ndimКоличество размерностей
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.