Интеграция MATLAB с сторонними языками программирования и системами

MATLAB® обеспечивает гибкое двухстороннее интегрирование с другими языками программирования, позволяя повторно использовать унаследованный код. Список языков программирования и поддерживаемых версий см. в разделе Поддерживаемые MATLAB интерфейсы к другим языкам.

Вызов кода C/C + + из MATLAB

MATLAB предоставляет эти функции, чтобы помочь вам интегрировать алгоритмы C/C + + в ваши приложения MATLAB.

  • Интерфейс общей библиотеки C/C + + представляет собой набор функций, динамически загружаемых приложением во время выполнения. Использование общей библиотеки имеет преимущество упаковки нескольких библиотечных функций в один интерфейс. В сложение MATLAB управляет преобразованиями типов данных.

    • Вызов функций библиотеки C++ - Чтобы вызвать функции в общей библиотеке C++, используйте clib пакет описан в библиотеках C++ в MATLAB.

    • По возможности выберите интерфейс C++ через интерфейс только C. Для получения информации о поддержке C++ смотрите эти ограничения.

    • Для вызова функций в разделяемой библиотеке на С используйте calllib функция. Для получения дополнительной информации см. раздел Библиотеки C в MATLAB. Эта функция лучше всего работает с библиотеками только на C, но имеет эти ограничения.

    Если вы хотите больше контролировать преобразование данных и управление памятью, рассмотрите запись файла MEX.

  • Файл MEX является кодом оболочки вокруг алгоритма C/C + +, который обрабатывает преобразование типов данных MATLAB в типы C. Файлы MEX обеспечивают лучшую эффективность, чем вызовы функций через общие библиотечные интерфейсы MATLAB. Кроме того, файлы MEX дают вам более программный контроль над преобразованием данных и управлением памятью.

    • Приложения C++ MEX используют современные функции программирования C++ и, где это возможно, совместные копии данных.

    • Файл MEX на C Applications использует API C Matrix и поддерживается для существующих MEX-функций. MathWorks рекомендует по возможности выбирать C++ MEX над файлом MEX на C приложениями. Однако, если ваши MEX-функции должны запускаться в MATLAB R2017b или ранее, то запишите MEX-функции в библиотеку матриц C.

    • Если у вас есть несколько функций в библиотеке или у вас нет проблем с эффективностью, рассмотрите запись интерфейса библиотеки C++.

Эти функции требуют навыков программирования C/C + + для создания библиотечного интерфейса или для записи MEX-функции. Однако можно дать получившуюся библиотеку или MEX-функцию любому пользователю MATLAB. Конечный пользователь вызывает функциональность, подобную любой функции MATLAB, не зная базовых деталей реализации языка C/C + +.

Чтобы вызвать MATLAB из языковой программы C/C + +, смотрите MATLAB Engine API для C++ или MATLAB Engine API для C.

Используйте объекты из других языков программирования в MATLAB

Если у вас есть функции и объекты на другом языке программирования, можно вызвать их из MATLAB. Вам не нужно быть разработчиком программного обеспечения, чтобы интегрировать эти объекты в ваше приложение MATLAB. Однако вам нужен доступ к сторонней документации для библиотек.

MATLAB поддерживает функции вызова и использование объектов на следующих языках.

Вызов MATLAB из другого языка программирования

Вы можете вызвать MATLAB с другого языка, используя Engine Applications. Используя движок MATLAB API, вызывайте функции MATLAB из собственного приложения. MATLAB имеет API для следующих языков.

Чтобы создать приложение engine, установите поддерживаемый MATLAB компилятор и используйте mex команда для создания приложения.

Вызов функций как функций MATLAB

Можно записать собственные функции и вызвать их как функции MATLAB с помощью MEX APIs. Дополнительные сведения см. в разделе Выбор приложений MEX. Вы можете записать MEX-функции на следующих языках.

Чтобы создать файл MEX, установите поддерживаемый MATLAB компилятор и используйте mex команда для создания функции.

Общайтесь с Веб-сервисами

Вы можете общаться с веб-сервисами из MATLAB.

  • Функции веб-сервисов MATLAB RESTful позволяют непрограммистам обращаться ко многим веб-сервисам с помощью HTTP GET и POST методов.

  • Для функций, не поддерживаемых функциями веб-сервисов RESTful, используйте классы HTTP Interface для записи настроенных приложений веб-доступа.

  • Если веб-сервис основан на технологиях документов на языке описания веб-сервисов (WSDL), используйте функции MATLAB WSDL.

Похожие темы

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