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 специфичные для релиза опции сборки функция устанавливает каждый элемент в массиве pr. Если ComplexFlag является mxCOMPLEX, то функция устанавливает массив pi на 0.

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

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

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

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

  • Файл MEX — Функция отключает файл MEX и возвращает управление в посдказку MATLAB.

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

Примеры

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

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

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