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

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.

MEX-функции C++
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-битные данные в Файле 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.Пример класса 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 массив ячеек в Файле MEX на C
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-стиля.

Передача строк в Файле 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.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

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

Похожие темы

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