Следующие таблицы содержат списки файлов исходного кода для создания примеров функций MEX. Эти примеры служат отправной точкой для создания собственных функций MEX. Таблицы содержат следующую информацию.
Имя примера - ссылка, которая открывает исходный файл в MATLAB ® Editor для вашего удобства. Для создания исходных файлов 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 в файле C MEX |
arrayFillSetData.c
| refbook | Заполниться | Заполнить mxArray в файле C MEX |
arrayFillSetPr.c
| refbook | Заполниться | Заполнить mxArray в файле C MEX |
arrayFillSetPrComplex.c | refbook | Заполниться | Заполнить mxArray в файле C MEX |
arrayProduct.c | mex | Умножьте скалярную матрицу 1xN раз. | Создать файл C Source MEX |
arrayProduct.cpp | cpp_mex | То же, что и | Функции C++ MEX |
arraySize.c
| mex | Проиллюстрировать требования к памяти большого размера | Обработка больших массивов mxArray в файлах C MEX |
complexAdd.F | refbook | Добавьте два сложных двойных массива. | |
convec.cconvec.F
| refbook | Передача сложных данных. | Обработка сложных данных в файле C MEX |
dblmat.Fcompute.F
| refbook | Использование Fortran %VAL. | |
doubleelement.c | refbook | Используйте 16-разрядные целые числа без знака. | Обработка данных 8-, 16-, 32- и 64-Bit в файле C MEX |
explore.c | mex | Определение типа данных входной переменной. | Работа с mxArray |
findnz.c
| refbook | Используйте N-мерные массивы. | Управление многомерными числовыми массивами в файлах C MEX |
fulltosparseIC.cfulltosparse.cfulltosparse.F, loadsparse.F
| refbook | Заполните разреженную матрицу. | Обработка разреженных массивов в файле C MEX |
matsq.F | refbook | Передайте матрицы в Фортране. | |
matsqint8.F | refbook | Передайте не двойные матрицы в Фортране. | |
mexatexit.cmexatexit.cpp | mex | Зарегистрируйте функцию выхода для закрытия файла данных. | Пример обработки файлов C++ |
mexcallmatlab.c | mex | Вызов встроенного MATLAB | |
mexcallmatlabwithtrap.c
| mex | Как фиксировать информацию об ошибках. | |
mexcpp.cpp | mex | Иллюстрируйте некоторые функции языка C++ в файле MEX, созданном с помощью API C Matrix. | Пример класса 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 в API данных MATLAB. | Установка и получение переменных MATLAB из MEX | |
mexlock.cmexlockf.F | mex | Как заблокировать и разблокировать файл MEX. | mexLock |
mxcalcsinglesubscript.c | mx | Продемонстрируйте индексацию матрицы на основе MATLAB 1 по сравнению с индексацией на основе C 0. | mxCalcSingleSubscript |
mxcreatecellmatrix.cmxcreatecellmatrixf.F | mx | Создание массива ячеек 2-D. | Создание массива ячеек 2-D в файле C MEX |
mxcreatecharmatrixfromstr.c | mx | Создайте 2-D символьный массив. | mxCreateCharMatrixFromStrings |
mxcreatestructarray.c | mx | Создайте структуру MATLAB из структуры C. | mxCreateStructArray |
mxcreateuninitnumericmatrix.c | mx | Создание неинициализированного | mxCreateUninitNumericMatrix |
mxgeteps.cmxgetepsf.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 | Выделение памяти для копирования MATLAB | mxMalloc |
mxsetdimensions.cmxsetdimensionsf.F
| mx | Изменение формы массива. | mxSetDimensions |
mxsetnzmax.c | mx | Перераспределить память для разреженной матрицы и сбросить значения pr, pi, ir, и nzmax. | mxSetNzmax |
passstr.F
| refbook | Передайте матрицу символов C из Fortran в MATLAB. | |
phonebook.c | refbook | Управление структурами и массивами ячеек. | Передача структур и массивов ячеек в файле C MEX |
phonebook.cpp | cpp_mex | То же, что и phonebook.c, используя API данных MATLAB. | Функции C++ MEX |
revord.crevord.F | refbook | Копировать MATLAB | Строки передачи в файле C MEX |
sincall.csincall.F, fill.F | refbook | Создать | |
timestwo.ctimestwo.F | refbook | Продемонстрируйте общий рабочий процесс файла MEX. | Передача скалярных значений в файле C MEX |
xtimesy.cxtimesy.F | refbook | Передача нескольких параметров. | |
yprime.cyprimef.F, yprimefg.F | mex | Решите простую задачу орбиты на три тела. | |
yprime.cpp | cpp_mex | То же, что и yprime.c, используя API данных MATLAB. | Функции C++ MEX |
Примеры в следующей таблице вызывают функции LAPACK или BLAS с использованием функции C MEX. Эти примеры связаны с одной или обеими библиотеками Fortran mwlapack и mwblas. Чтобы создать функцию MEX, следуйте инструкциям в разделах, перечисленных в столбце «Дополнительные сведения».
| Имя примера | Пример вложенной папки | Описание | Дополнительные сведения |
|---|---|---|---|
dotProductComplex.c | refbook | Обработайте сложный возвращаемый тип Fortran для функции, вызываемой из файла C MEX. | Обработка возвращаемого типа Fortran Complex - dotProductComplex |
matrixDivide.c | refbook | Вызовите функцию LAPACK. | Сохранение входных значений из изменения |
matrixDivideComplex.c | refbook | Вызовите функцию LAPACK с комплексными числами. | Передайте Сложные Переменные - matrixDivideComplex |
matrixMultiply.c | refbook | Вызовите функцию BLAS. | Передача аргументов функциям Fortran из программ C/C + + |
utdu_slv.c | refbook | Используйте LAPACK для симметричной неопределенной факторизации. | Симметричная неопределенная факторизация с использованием LAPACK - utdu_slv |