mxArray
структура данныхЧтобы написать программы C, которые работают с MATLAB R2017b или ранее, используйте функции в Матричном API C. Эти функции работают с mxArray
структура данных и используется, чтобы создать MEX-функции C или приложения механизма C.
MathWorks рекомендует, чтобы, когда это возможно, выберите приложения C ++ over C. Для получения дополнительной информации смотрите Вызов MATLAB от Библиотек C++ или C++, чтобы непосредственно вызвать функциональность библиотеки 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 | Введите для значений размера |
mwIndex | Введите для значений индекса |
mwSignedIndex | Тип целого числа со знаком для значений размера |
mxChar | Введите для массива строк |
mxLogical | Введите для логического массива |
mxComplexity | Отметьте определение, имеет ли массив мнимые компоненты |
mxIsNumeric | Определите, является ли массив числовым |
mxIsComplex | Определите, являются ли данные комплексными |
mxGetNumberOfDimensions | Количество размерностей в массиве |
mxGetElementSize | Количество байтов, требуемых сохранить каждый элемент данных |
mxGetDimensions | Указатель на массив размерностей |
mxSetDimensions | Измените количество размерностей и размер каждой размерности |
mxGetNumberOfElements | Число элементов в числовом массиве |
mxCalcSingleSubscript | Возместите от первого элемента до желаемого элемента |
mxGetM | Количество строк в массиве |
mxSetM | Определите номер строк в массиве |
mxGetN | Количество столбцов в массиве |
mxSetN | Определите номер столбцов в массиве |
mxIsEmpty | Определите, пуст ли массив |
mxIsFromGlobalWS | Определите, был ли массив скопирован с глобальной рабочей области 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
.