exponenta event banner

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

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

Функции C, C++ и Fortran MEX

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

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

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

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

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

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

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

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

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

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

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

Создать файл C Source MEX
arrayProduct.cppcpp_mex

То же, что и arrayProduct.c, используя API данных MATLAB.

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

Проиллюстрировать требования к памяти большого размера mxArray.

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

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

 
convec.c
convec.F
refbook

Передача сложных данных.

Обработка сложных данных в файле C MEX
dblmat.F
compute.F
refbookИспользование Fortran %VAL. 
doubleelement.crefbookИспользуйте 16-разрядные целые числа без знака.Обработка данных 8-, 16-, 32- и 64-Bit в файле C MEX
explore.cmexОпределение типа данных входной переменной.Работа с mxArray
findnz.c refbookИспользуйте N-мерные массивы.Управление многомерными числовыми массивами в файлах C MEX
fulltosparseIC.c
fulltosparse.c
fulltosparse.F, loadsparse.F
refbookЗаполните разреженную матрицу.Обработка разреженных массивов в файле C MEX
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 в API данных MATLAB.Установка и получение переменных 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 в файле C MEX
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

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

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

Копировать MATLAB char в строку стиля Си и из нее.

Строки передачи в файле C MEX
sincall.c
sincall.F, fill.F
refbook

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

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

Функции C MEX, вызывающие подпрограммы Fortran

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

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

См. также

Связанные темы

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