Изменение количества размеров и размера каждого размера
#include "matrix.h" int mxSetDimensions(mxArray *pm, const mwSize *dims, mwSize ndim);
mxSetDimensions прибыль 0 об успехе, и 1 при отказе. 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.