Таблицы примеров исходного кода MEX-функций

В следующих таблицах содержатся списки файлов исходного кода для создания примерных 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')

C, C++ и Фортран MEX-функций

Чтобы создать пример MEX-функции в MATLAB или по приглашению операционной системы, используйте этот синтаксис команды. filename - имя примера, и release-option задает API, используемый в примере. Для получения дополнительной информации об API-интерфейсах MATLAB смотрите Выбор приложений MEX.

mex -v -release-option filename
Имя примераПример ПодпапкаОписаниеДополнительная информация
arrayFillGetPr.c refbook

Заполнение mxArray использование mxGetDoubles.

Заполнение mxArray в файл MEX на C
arrayFillSetData.c refbook

Заполнение mxArray с недвойными значениями.

Заполнение mxArray в файл MEX на C
arrayFillSetPr.c refbook

Заполнение mxArray использование mxSetDoubles динамическое выделение памяти.

Заполнение mxArray в файл MEX на C
arrayFillSetPrComplex.crefbook

Заполнение mxArray использование mxSetComplexDoubles динамическое выделение памяти.

Заполнение mxArray в файл MEX на C
arrayProduct.cmex

Умножьте скалярное число раз 1xN матрицу.

Создайте исходный файл MEX на C
arrayProduct.cppcpp_mex

То же, что и arrayProduct.c, с использованием MATLAB Data API.

C++ MEX-функции
arraySize.c mex

Иллюстрируйте требования к памяти больших mxArray.

Обработка больших mxArrays в файлах MEX на C
complexAdd.Frefbook

Добавьте два сложных двойных массива.

 
convec.c
convec.F
refbook

Передайте комплексные данные.

Обработайте комплексные данные в файле MEX на C
dblmat.F
compute.F
refbookИспользование Фортран- %VAL. 
doubleelement.crefbookИспользуйте беззнаковые 16-битные целые числа.Дескриптор 8-, 16-, 32- и 64-Bit данных в файле MEX на C
explore.cmexИдентифицируйте тип данных переменного входа.Работа с mxArrays
findnz.c refbookИспользуйте N-мерные массивы.Манипуляции с многомерными числовыми массивами в файлах MEX на C
fulltosparseIC.c
fulltosparse.c
fulltosparse.F, loadsparse.F
refbookЗаполните разреженную матрицу.Обрабатывайте разреженные массивы в файле MEX на C
matsq.FrefbookПередайте матрицы в Фортране. 
matsqint8.FrefbookПередайте недвойственные матрицы в Фортране. 
mexatexit.c
mexatexit.cpp
mexЗарегистрируйте выходную функцию, чтобы закрыть файл данных.Пример обработки файлов C++
mexcallmatlab.cmex

Встроенный вызов MATLAB disp функция.

 
mexcallmatlabwithtrap.c mexКак захватить информацию об ошибке. 
mexcpp.cppmexПроиллюстрировать некоторые функции языка C++ в файле MEX, созданном с помощью API на C Matrix.Пример класса C++
mexevalstring.c mexИспользовать mexEvalString для назначения переменных в MATLAB.mexEvalString
mexfunction.cmexКак использовать mexFunction.mexFunction
mxgetproperty.cmexИспользовать mxGetProperty и mxSetProperty для изменения Color свойство графического объекта.mxGetProperty и mxSetProperty
mexgetarray.cmexИспользовать 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.cmxДемонстрируйте индексирование матриц на основе MATLAB 1 по сравнению с индексацией на основе C 0.mxCalcSingleSubscript
mxcreatecellmatrix.c
mxcreatecellmatrixf.F
mxСоздайте 2-D массивы ячеек.Создайте 2-D Массивы ячеек в файле MEX на C
mxcreatecharmatrixfromstr.cmxСоздайте 2-D символьный массив.mxCreateCharMatrixFromStrings
mxcreatestructarray.cmxСоздайте структуру MATLAB из структуры C.mxCreateStructArray
mxcreateuninitnumericmatrix.cmx

Создайте неинициализированную mxArray, заполните локальными данными и вернитесь.

mxCreateUninitNumericMatrix
mxgeteps.c
mxgetepsf.F
mx

Чтение MATLAB eps значение.

mxGetEps
mxgetinf.cmx

Читать inf значение.

mxGetInf
mxgetnzmax.c mxОтобразите количество ненулевых элементов в разреженной матрице и максимальное количество ненулевых элементов, которые она может хранить.mxGetNzmax
mxisclass.cmxПроверьте, является ли массив представителем заданного класса.mxIsClass
mxisfinite.cmxПроверяйте на NaN и бесконечные значения.mxIsFinite
mxislogical.cmx

Проверьте, является ли переменная рабочей области логической или глобальной.

mxIsLogical
mxisscalar.cmxПроверьте, является ли входная переменная скалярной.mxIsScalar
mxmalloc.cmx

Выделите память для копирования char MATLAB массив в строку C-стиля.

mxMalloc
mxsetdimensions.c
mxsetdimensionsf.F
mxИзмените форму массива.mxSetDimensions
mxsetnzmax.cmxПерераспределите память для разреженной матрицы и сбросьте значения pr, pi, ir, и nzmax.mxSetNzmax
passstr.F refbookПередайте матрицу символов C из Фортрана в MATLAB. 
phonebook.crefbookМанипулируйте структурами и массивами ячеек.Передайте структуры и массивы ячеек в файл MEX на C
phonebook.cppcpp_mexТо же, что и phonebook.c, с использованием MATLAB Data API.C++ MEX-функции
revord.c
revord.F
refbook

Скопируйте char MATLAB массив в строку C-стиля и из нее.

Передайте строки в файле MEX на C
sincall.c
sincall.F, fill.F
refbook

Создание mxArray и передайте в MATLAB sin и plot функций.

 
timestwo.c
timestwo.F
refbookДемонстрация общего рабочего процесса файла MEX.Передайте скалярные значения в файле MEX на C
xtimesy.c
xtimesy.F
refbookПередайте несколько параметров.
yprime.c
yprimef.F, yprimefg.F
mexРешите простую задачу с тремя орбитами тела. 
yprime.cppcpp_mexТо же, что и yprime.c, с использованием MATLAB Data API.C++ MEX-функции

C MEX-функциями Вызов Фортран Стандартных подпрограмм

Примеры в следующей таблице вызывают функцию LAPACK или BLAS с помощью функции C MEX. Эти примеры ссылаются на одну или обе библиотеки Фортран mwlapack и mwblas. Чтобы создать MEX-функцию, следуйте инструкциям в разделах, перечисленных в столбце Дополнительная информация.

Имя примера Пример Подпапка Описание Дополнительная информация
dotProductComplex.crefbookОбработайте тип комплексного возврата ФОРТРАН для функции, вызываемой из файла MEX на C.Handle Комплексный Тип Возврата Фортран - dotProductComplex
matrixDivide.crefbookВызовите функцию LAPACK.Сохраните входные значения от изменения
matrixDivideComplex.crefbookВызовите функцию LAPACK с комплексными номерами.Передайте Комплексные Переменные - matrixDivideComplex
matrixMultiply.crefbookВызовите функцию BLAS.Передайте аргументы в функции ФОРТРАН из программ на C/C + +
utdu_slv.crefbookИспользуйте LAPACK для симметричной неопределенной факторизации.Симметричная неопределенная факторизация с использованием LAPACK - utdu_slv

См. также

Похожие темы

Внешние веб-сайты