mxArray
структура данныхЧтобы записать программы на C, которые работают с MATLAB R2017b или ранее, используйте функции в Matrix API на C. Эти функции работают с mxArray
структура данных и используются для создания функций C MEX или приложений C engine.
Примечание
MathWorks рекомендует по возможности выбирать приложения C++ over C. Для получения дополнительной информации см. Вызов MATLAB из библиотек C++ или C++ в MATLAB, чтобы непосредственно вызвать функциональность библиотеки C++ из MATLAB.
Существует две версии API на C Matrix.
Этот interleaved complex API содержит функциональность API на C MATLAB R2018a. Для получения дополнительной информации смотрите Поддержку MATLAB для чередующегося комплексного API в MEX-функциях.
Этот separate complex API содержит функциональность API на C MATLAB R2017b.
Для примеров, использующих эти функции библиотеки, смотрите:
Смотрите индивидуума функции для получения примера информации. Для примера см. mxIsChar
.
Внимание
C Matrix API несовместим с MATLAB Data API, который поддерживает современные функции C++. Вы не можете использовать функции C Matrix API с функциями в приложениях C++ MEX или MATLAB Engine API для C++.
mxArray | Тип C для массива MATLAB |
mwSize | Тип C для значений размера mxArray |
mwIndex | Тип C для значений индекса mxArray |
mwSignedIndex | Тип C со знаком целое число для значений размера mxArray |
mxChar | Тип для строковых массивов |
mxLogical | Тип для логического массива |
mxComplexity | Флаг, определяющий, имеет ли массив мнимые компоненты |
mxIsNumeric | Определите, является ли mxArray числовым |
mxIsComplex | Определите, являются ли данные комплексными |
mxGetNumberOfDimensions | Количество размерностей в mxArray |
mxGetElementSize | Количество байтов, необходимых для хранения каждого элемента данных |
mxGetDimensions | Указатель на массив размерностей |
mxSetDimensions | Измените количество размерностей и размер каждой размерности |
mxGetNumberOfElements | Количество элементов в числе mxArray |
mxCalcSingleSubscript | Смещение от первого элемента к требуемому элементу |
mxGetM | Количество строк в mxArray |
mxSetM | Установите количество строк в mxArray |
mxGetN | Количество столбцов в mxArray |
mxSetN | Установите количество столбцов в mxArray |
mxIsEmpty | Определите, является ли mxArray пустым |
mxIsFromGlobalWS | Определите, был ли mxArray скопирован из глобальной рабочей области MATLAB |
mxDestroyArray | Свободная динамическая память, выделяемая функциями MXCREATE * |
mxDuplicateArray | Сделайте глубокую копию массива |
mxCalloc | Выделите динамическую память для массива, инициализированную равной 0, используя диспетчера памяти MATLAB |
mxMalloc | Выделите неинициализированную динамическую память с помощью диспетчера памяти MATLAB |
mxRealloc | Перераспределите динамическую память с помощью диспетчера памяти MATLAB |
mxFree | Свободная динамическая память, выделенная mxCalloc, mxMalloc, mxRealloc, mxArrayToString или mxArrayToUTF8String функциями |
mxIsInf | Определите, является ли вход бесконечным |
mxIsFinite | Определите, является ли вход конечным |
mxIsNaN | Определите, является ли вход NaN (Не число) |
Передайте строки в файле MEX на C
В этом примере показано, как передать строки в MEX-функцию, созданную с помощью API на C Matrix.
Передайте скалярные значения в файле MEX на C
В этом примере показано, как записать файл MEX, который передает скалярные значения.
Обрабатывайте разреженные массивы в файле MEX на C
В этом примере показано, как заполнить разреженную матрицу с помощью C Matrix API.
Дескриптор 8-, 16-, 32- и 64-Bit данных в файле MEX на C
В этом примере показано, как использовать беззнаковые 16-битные целые числа в файле MEX с помощью API C Matrix.
Передайте структуры и массивы ячеек в файл MEX на C
В этом примере показано, как передать структуры и массивы ячеек в файлы MEX, созданные с помощью API на C Matrix.
Манипуляции с многомерными числовыми массивами в файлах MEX на C
Можно манипулировать многомерными числовыми массивами, используя типизированные функции доступа к данным, такие как mxGetDoubles
и mxGetComplexDoubles
.