Таблицы примеров исходного кода 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
arrayFillSetData.c refbook

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

Заполнение mxArray
arrayFillSetPr.c refbook

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

Заполнение mxArray
arrayFillSetPrComplex.crefbook

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

Заполнение mxArray
arrayProduct.cmex

Умножьте скалярные времена 1xN матрица.

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

То же самое как arrayProduct.c, с помощью MATLAB Data API.

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

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

Обработка Большого mxArrays
complexAdd.Frefbook

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

 
convec.c
convec.F
refbook

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

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

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

 
mexcallmatlabwithtrap.c mexКак получить информацию об ошибке. 
mexcpp.cppmexПроиллюстрируйте некоторые функции языка C++ в файле MEX, созданном с Матричным API C.Используйте класс C++ в Файле MEX на 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 по сравнению с индексацией на основе 0 C.mxCalcSingleSubscript
mxcreatecellmatrix.c
mxcreatecellmatrixf.F
mxСоздание 2D массива ячеек.Создание 2D массива ячеек
mxcreatecharmatrixfromstr.cmxСоздайте 2D символьный массив.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.MEX-функции C++
revord.c
revord.F
refbook

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

Передача строк
sincall.c
sincall.F, fill.F
refbook

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

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

C MEX-функции, вызывая стандартные подпрограммы Фортрана

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

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

Смотрите также

Похожие темы

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

Для просмотра документации необходимо авторизоваться на сайте