Можно вызвать собственный C, C++ или программы Фортрана из командной строки MATLAB®, как будто они были встроенными функциями. Эти программы называются MEX functions. Чтобы создать MEX-функцию, запишите вашему использованию программы API MATLAB, затем создайте использование команды mex
. API обеспечивают эти функции:
Получите входные параметры от MATLAB
Возвратите результаты в MATLAB
Поддержите типы данных MATLAB
Вызовите функции MATLAB от MEX-функции.
Объединяйтесь беспрепятственно в MATLAB
MATLAB поддерживает MEX-функции, написанные в C, C++ или Фортране.
С MATLAB R2018a существует два варианта для создания функций MEX C/C++. Исходные файлы MEX, записанные с MATLAB Data API, используют C++ 11 функций программирования, но поддерживаются MATLAB R2018a и позже. Если ваши файлы MEX должны запуститься в MATLAB R2017b или ранее, то запишите исходные файлы с помощью функций в Матричном API C.
Если вам не нужны файлы MEX, которые работают в R2017b, и вы знакомы с современным C++, рассматриваете использование нового API C++ MEX и MATLAB Data API. Эти API обеспечивают лучшую безопасность типов, массив ограничивает проверку и поддержку современных построений C++, чтобы упростить кодирование. Если вы - более удобная работа на языке C, продолжаете использовать API MEX C и Матричный API C.
Не смешивайте функции в различных API. Например, не используйте функции в Матричном API C с функциями в MATLAB Data API.
Чтобы использовать C++ 11 функций программирования, см.:
Чтобы записать MEX-функции на основе типа данных mxArray
, который задан в Матричном API C, см.:
Чтобы записать MEX-функции Фортрана, см.:
MATLAB не поддерживает чередованный комплексный API для MEX-функций Фортрана.