mxSetDimensions (C)

Измените количество размерностей и размер каждой размерности

Синтаксис C

#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, затем увеличьте prpi, если он существует) массивы соответственно.

Если ваш вызов на mxSetDimensions уменьшает количество элементов в mxArray, тогда вы можете опционально уменьшить размер pr и pi массивы, использующие mxRealloc.

MATLAB® автоматически удаляет все конечные синглтонные размерности, указанные в dims аргумент. Для примера, если ndim равен 5 и dims равен [4 1 7 1 1], тогда получившийся массив имеет размерности 4-by- 1-by- 7.

Входные параметры

расширить все

Указатель на mxArray массив, заданный как const mxArray*.

Размерности. Каждый элемент массива размерностей содержит размер массива в этом измерении, заданный как mwSize. Для примера в Фортране установка dims(1) на 5 и dims(2) на 7 устанавливает 5-by- 7 mxArray. В большинстве случаев существуют ndim элементы в dims массив.

Количество размерностей, заданное как mwSize.

Примеры

См. эти примеры в matlabroot/ extern/examples/mx:

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте