mxCreateNumericArray (C)

N-D числовой массив

Синтаксис C

#include "matrix.h"
mxArray *mxCreateNumericArray(mwSize ndim, const mwSize *dims,
    mxClassID classid, mxComplexity ComplexFlag);

Описание

Использовать mxCreateNumericArray для создания N-мерной mxArray. Элементы данных имеют тип числовых данных, заданный как classid.

mxCreateNumericArray отличается от mxCreateDoubleMatrix следующим образом:

  • Все элементы данных в mxCreateDoubleMatrix являются двойной точностью, числами с плавающей запятой. Элементы данных в mxCreateNumericArray может быть любым числовым типом, включая различные целочисленные точности.

  • mxCreateDoubleMatrix создает только двумерные массивы. mxCreateNumericArray может создать массивы двух или более размерностей.

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

В этой таблице показаны classid C значения, эквивалентные классам MATLAB.

Имя класса MATLAB

C classid Значение

int8

mxINT8_CLASS

uint8

mxUINT8_CLASS

int16

mxINT16_CLASS

uint16

mxUINT16_CLASS

int32

mxINT32_CLASS

uint32

mxUINT32_CLASS

int64

mxINT64_CLASS

uint64

mxUINT64_CLASS

single

mxSINGLE_CLASS

double

mxDOUBLE_CLASS

Звонить mxDestroyArray когда вы заканчиваете использовать mxArray. mxDestroyArray функция освобождает mxArray и связанных с ним реальных и мнимых элементов.

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

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

Количество размерностей, заданное как mwSize. Если ndim меньше 2, тогда mxCreateNumericArray устанавливает количество размерностей равным 2.

Массив размерностей, заданный как const mwSize *.

Каждый элемент массива размерностей содержит размер массива в этом измерении. Например, чтобы создать 5-by- 7 массив, установка dims[0] до 5 и dims[1] до 7.

Обычно, dims массив содержит ndim элементы.

Идентификатор класса, заданный как mxClassID перечисление. classid определяет, как числовые данные представлены в памяти. Для примера, mxCreateNumericMatrix хранит mxINT16_CLASS значения как 16-битные целые числа со знаком.

Индикатор комплексного массива, заданный как mxComplexity значение.

Для приложений, созданных с помощью mex -R2018a команда, функция инициализирует каждый элемент данных, чтобы 0.

Для всех других mex release-specific опции сборки, функция устанавливает каждый элемент в pr массив. Если ComplexFlag является mxCOMPLEX, затем функция устанавливает pi массив в 0.

Выходные аргументы

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

Указатель на mxArray типа classid, заданный как mxArray *.

Функция неудачна, когда не хватает свободного пространства в куче, чтобы создать mxArray.

  • Файл MEX - Function завершает Файл MEX и возвращает управление в подсказку MATLAB.

  • Автономное (не-MEX файл) приложение - Функция возвращает NULL.

Примеры

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

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

Представлено до R2006a