Следующие таблицы содержат списки файлов исходного кода для создания MEX-функций в качестве примера. Используйте эти примеры в качестве отправной точки для создания ваших собственных MEX-функций. Таблицы содержат следующую информацию.
Имя в качестве примера - ссылка, которая открывает исходный файл в Редакторе MATLAB® для вашего удобства. Можно использовать любой редактор разработки кода, чтобы создать исходные файлы MEX.
Подпапка в качестве примера - подпапка matlabroot
/extern/examples
, содержащий пример. Используйте это подымя папки при копировании файла в перезаписываемую папку.
Описание - описывает пример.
Больше информации - ссылка на тему, описывающую или использующую пример, или на API-функцию, используется в примере.
Используйте команду mex
, чтобы создать примеры. Убедитесь, что вам установили поддерживаемый MATLAB компилятор. Чтобы проверить компилятор, выбранный для языка исходного кода lang
, введите:
mex -setup lang
Скопируйте файл в перезаписываемую папку на вашем пути с помощью следующего синтаксиса команд. filename
является именем примера, и foldername
является подыменем папки.
copyfile(fullfile(matlabroot,'extern','examples','foldername','filename'),'.','f')
Например, чтобы скопировать arrayProduct.c
, введите:
copyfile(fullfile(matlabroot,'extern','examples','mex','arrayProduct.c'),'.','f')
Чтобы создать MEX-функцию в качестве примера в MATLAB или в вашей подсказке операционной системы, используйте этот синтаксис команд. filename
является именем в качестве примера, и release-option
задает API, используемый примером. Для получения информации о API MATLAB см. Приложения MEX.
mex -v -release-option filename
Имя в качестве примера | Подпапка в качестве примера | Описание | Больше информации |
---|---|---|---|
arrayFillGetPr.c
| refbook
| Заполните | Заполнение mxArray |
arrayFillSetData.c
| refbook | Заполните | Заполнение mxArray |
arrayFillSetPr.c
| refbook | Заполните | Заполнение mxArray |
arrayFillSetPrComplex.c | refbook | Заполните | Заполнение mxArray |
arrayProduct.c | mex | Умножьте скалярные времена 1xN матрица. | Создание исходного файла MEX на C |
arrayProduct.cpp | cpp_mex | То же самое как | MEX-функции C++ |
arraySize.c
| mex | Проиллюстрируйте требования к памяти большого | Обработка Большого mxArrays |
complexAdd.F | refbook | Добавьте два комплексных двойных массива. | |
convec.c convec.F
| refbook | Передайте комплексные данные. | Обработка комплексных данных |
dblmat.F compute.F
| refbook | Использование Фортрана %VAL . | |
doubleelement.c | refbook | Используйте 16-битные целые числа без знака. | Обработайте 8-, 16-, 32-, и 64-битные данные |
explore.c | mex | Идентифицируйте тип данных входной переменной. | Работа с mxArrays |
findnz.c
| refbook | Используйте N-мерные массивы. | Управление многомерными числовыми массивами |
fulltosparseIC.c fulltosparse.c fulltosparse.F , loadsparse.F
| refbook | Заполните разреженную матрицу. | Обработка разреженных массивов |
matsq.F | refbook | Передайте матрицы на Фортране. | |
matsqint8.F | refbook | Передайте недвойные матрицы на Фортране. | |
mexatexit.c mexatexit.cpp | mex | Зарегистрируйте выходную функцию, чтобы закрыть файл данных. | Обработка файлов с C++ |
mexcallmatlab.c | mex | Вызовите встроенный MATLAB функция | |
mexcallmatlabwithtrap.c
| mex | Как получить информацию об ошибке. | |
mexcpp.cpp | mex | Проиллюстрируйте некоторые функции языка C++ в файле MEX, созданном с Матричным API C. | Используйте класс C++ в Файле MEX на C |
mexevalstring.c
| mex | Используйте mexEvalString , чтобы присвоить переменные в MATLAB. | mexEvalString |
mexfunction.c | mex | Как использовать mexFunction . | mexFunction |
mxgetproperty.c | mex | Используйте mxGetProperty и mxSetProperty , чтобы изменить свойство Color графического объекта. | mxGetProperty и mxSetProperty |
mexgetarray.c | mex | Используйте mexGetVariable и mexPutVariable , чтобы отследить счетчики в файле MEX и в глобальной рабочей области MATLAB. | mexGetVariable и mexPutVariable |
mexgetarray.cpp | То же самое как mexgetarray.c , с помощью matlab::engine::getVariable и matlab::engine::setVariable в MATLAB Data API. | Установите и получите переменные MATLAB от MEX | |
mexlock.c mexlockf.F | mex | Как заблокировать и разблокировать файл MEX. | mexLock |
mxcalcsinglesubscript.c | mx | Продемонстрируйте индексирование матриц на основе MATLAB 1 по сравнению с индексацией на основе 0 C. | mxCalcSingleSubscript |
mxcreatecellmatrix.c mxcreatecellmatrixf.F | mx | Создание 2D массива ячеек. | Создание 2D массива ячеек |
mxcreatecharmatrixfromstr.c | mx | Создайте 2D символьный массив. | mxCreateCharMatrixFromStrings |
mxcreatestructarray.c | mx | Создайте структуру MATLAB из структуры C. | mxCreateStructArray |
mxcreateuninitnumericmatrix.c | mx | Создайте неинициализированный | mxCreateUninitNumericMatrix |
mxgeteps.c mxgetepsf.F
| mx | Считайте MATLAB значение | mxGetEps |
mxgetinf.c | mx | Считайте значение | mxGetInf |
mxgetnzmax.c
| mx | Отобразите количество ненулевых элементов в разреженной матрице и максимальном количестве ненулевых элементов, которые это может сохранить. | mxGetNzmax |
mxisclass.c | mx | Проверяйте, является ли массив членом заданного класса. | mxIsClass |
mxisfinite.c | mx | Проверяйте на NaN и бесконечные значения. | mxIsFinite |
mxislogical.c | mx | Проверяйте, является ли переменная рабочей области логической или глобальной. | mxIsLogical |
mxisscalar.c | mx | Проверяйте, является ли входная переменная скаляром. | mxIsScalar |
mxmalloc.c | mx | Выделите память, чтобы скопировать массив | mxMalloc |
mxsetdimensions.c mxsetdimensionsf.F
| mx | Измените размерность массива. | mxSetDimensions |
mxsetnzmax.c | mx | Перераспределите память для разреженной матрицы и сбросьте значения pr , pi , ir и nzmax . | mxSetNzmax |
passstr.F
| refbook | Передайте символьную матрицу C от Фортрана до MATLAB. | |
phonebook.c | refbook | Управляйте структурами и массивами ячеек. | Передача структур и Массивы ячеек в Файлах MEX на C |
phonebook.cpp | cpp_mex | То же самое как phonebook.c , с помощью MATLAB Data API. | MEX-функции C++ |
revord.c revord.F | refbook | Скопируйте MATLAB массив | Передача строк |
sincall.c sincall.F , fill.F | refbook | Создайте | |
timestwo.c timestwo.F | refbook | Продемонстрируйте общий рабочий процесс файла MEX. | Передача скалярных величин |
xtimesy.c xtimesy.F | refbook | Передайте несколько параметров. | |
yprime.c yprimef.F , yprimefg.F | mex | Решите простые три проблемы орбиты тела. | |
yprime.cpp | cpp_mex | То же самое как yprime.c , с помощью MATLAB Data API. | MEX-функции C++ |
Примеры в следующей таблице вызывают LAPACK или функцию BLAS использование MEX-функции C. Эти примеры соединяются с одним или обеими из библиотек Fortran mwlapack и
mwblas
. Чтобы создать MEX-функцию, следуйте инструкциям в темах, перечисленных в Большем количестве информационного столбца.
Имя в качестве примера | Подпапка в качестве примера | Описание | Больше информации |
---|---|---|---|
dotProductComplex.c | refbook | Обработайте Фортран комплексный тип возврата для функции, вызванной из файла MEX на C. | Обработайте Фортран Комплексный Тип Возврата — dotProductComplex |
matrixDivide.c | refbook | Вызовите функцию LAPACK. | Сохраните входные значения от модификации |
matrixDivideComplex.c | refbook | Вызовите функцию LAPACK с комплексными числами. | Передайте Комплексные переменные — matrixDivideComplex |
matrixMultiply.c | refbook | Вызовите функцию BLAS. | Передайте аргументы функциям Фортрана из программ C/C++ |
utdu_slv.c | refbook | Используйте LAPACK для симметричной неопределенной факторизации. | Симметричная Неопределенная Факторизация Используя LAPACK — utdu_slv |