mxArray
структура данныхЧтобы написать программы C, которые работают с MATLAB R2017b или ранее, используйте функции в Матричном API C. Эти функции работают с mxArray
структура данных и используется, чтобы создать MEX-функции C или приложения механизма C.
Примечание
MathWorks рекомендует, чтобы, когда это возможно, выберите приложения C ++ over C. Для получения дополнительной информации смотрите Вызов MATLAB из C ++ или Библиотеки C++ в MATLAB, чтобы непосредственно вызвать функциональность библиотеки C++ из MATLAB.
Существует две версии Матричного API C.
interleaved complex API содержит Матричную функциональность API C с MATLAB R2018a. Для получения дополнительной информации смотрите Поддержку MATLAB Чередованного Комплексного API в MEX-функциях.
separate complex API содержит Матричную функциональность API C с MATLAB R2017b.
Для примеров с помощью этих библиотечных функций см.:
Смотрите отдельные функции, например, информация. Например, смотрите mxIsChar
.
Внимание
Матричный API C не совместим с MATLAB Data API, который поддерживает современные функции C++. Вы не можете использовать Матричные API-функции C с функциями в Приложениях 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.
Передача скалярных величин в Файле MEX на C
В этом примере показано, как записать файл MEX, который передает скалярные значения.
Обработайте разреженные массивы в Файле MEX на C
В этом примере показано, как заполнить разреженную матрицу с помощью Матричного API C.
Обработайте 8-, 16-, 32-, и 64-битные данные в Файле MEX на C
В этом примере показано, как использовать 16-битные целые числа без знака в файле MEX с помощью Матричного API C.
Передача структур и Массивы ячеек в Файле MEX на C
В этом примере показано, как передать структуры и массивы ячеек к файлам MEX, созданным с Матричным API C.
Управляйте многомерными числовыми массивами в Файлах MEX на C
Можно управлять многомерными числовыми массивами при помощи введенных функций доступа к данным как mxGetDoubles
и mxGetComplexDoubles
.