Используйте API C++ MEX, чтобы создать функции MATLAB, которые обеспечивают КПД программ C++, и это может получить доступ к внешним функциям и библиотекам из MATLAB. API C++ MEX обеспечивает эти функции:
Использует современные функции программирования на C++ и объектно-ориентированные проекты.
Функции MATLAB вызовов от MEX-функции.
Объединяется беспрепятственно в MATLAB, получая входные параметры от и возвращая результаты к MATLAB.
Типы данных MATLAB поддержек и семантика копирования при записи.
Пишут ориентированные на многопотоковое исполнение многопоточные MEX-функции.
Выполняет MEX-функции C++ из процесса.
Примечание
Функции в API C++ MATLAB используют matlab::data::Array
класс задан в MATLAB Data API. Если ваши MEX-функции должны запуститься в MATLAB R2017b или ранее, или если вы предпочитаете работать на языке C, то используйте Матричный API C, который работает с mxArray
структура данных вместо этого. Для получения дополнительной информации смотрите Вызов MATLAB из C.
Файлы MEX реализуют функции MATLAB, написанные в C++.
Создайте исходный файл C++ MEX
Вот то, как создать основную MEX-функцию C++.
Создайте приложения MEX на других платформах.
Проверка собственной среды сборки
Протестируйте свою среду сборки с предопределенным файлом MEX C++.
Используйте C++ 11 функций и Engine API для C++, чтобы реализовать MEX-функции.
Реализуйте класс, который заменяет оператор вызова функции ()
создать объект функтора.
Избегайте копий массивов в MEX-функциях
Методы, чтобы не делать копии больших массивов, чтобы уменьшать использование памяти и улучшить скорость выполнения.
Управление внешние ресурсы от MEX-функций
Настройте MexFunction
класс, чтобы лучше обработать ресурсы, используемые вашей MEX-функцией.
Проверяйте размер и тип входных параметров и отобразите сообщения об ошибке в MATLAB.
Отображение Вывода в командном окне MATLAB
MEX-функции могут отображаемый вывод в окне команды MATLAB.
Создание асинхронных Запросов Используя mexCallMATLAB
Поведение при призывании обратно в MATLAB с async
запросите как matlab::engine::MATLABEngine::fevalAsync
.
Доступ к данным во введенном, ячейке и массивах структур
Ячейка и массивы структур позволяют вам записать в содержимое массивов, не копируя целый массив.
Типы данных для передачи данных о MEX-функции
Задайте правильные типы данных, чтобы передать данные между MATLAB и MEX-функциями.
Вызовите функции MATLAB от MEX-функций
Вызовите функции MATLAB, передающие аргументы от и возвращающиеся аргументы к MEX-функции.
Отловите исключения в MEX-функции
Отловите исключения, добавленные MEX-функция.
Выполните выражения MATLAB от MEX-функции
Выполните выражения MATLAB, чтобы создать переменные в рабочей области вызывающей стороны.
Вызовите MATLAB от отдельных потоков в MEX-функции
MEX-функции могут вызвать MATLAB от созданных пользователями потоков с помощью Engine C++ асинхронный API.
Выполнение из процесса MEX-функций C++
Выполните MEX-функции C++ в процессах, которые являются отдельными от процесса MATLAB.
Установите и получите переменные MATLAB от MEX
Поместите переменные в или получите переменные из основы MATLAB и глобальных рабочих областей.
Передайте объекты MATLAB MEX-функциям.
Используя MEX-функции для методов класса MATLAB
Можно использовать MEX-функции, чтобы реализовать методы для классов MATLAB.