exponenta event banner

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около-1около-7.

В этой таблице показан C classid значения, эквивалентные классам 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около-7 массив, набор dims[0] до 5 и dims[1] до 7.

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

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

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

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

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

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

развернуть все

Указатель на mxArray типа classid, указано как mxArray *.

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

  • MEX-файл - функция завершает работу MEX-файла и возвращает элемент управления в подсказку MATLAB.

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

Примеры

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

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

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