Contenu principal

Appeler MATLAB à partir de C++

Exécuter du code MATLAB® depuis des programmes C++ avec un support de la programmation orientée objet et une exécution asynchrone

L’API de MATLAB Engine pour C++ propose une interface entre le langage de programmation C++ et MATLAB. Elle permet aux programmes C++ de lancer MATLAB, d’évaluer les fonctions MATLAB avec des arguments et d’échanger des données entre MATLAB et des programmes C++. Les opérations supportées sont les suivantes :

  • Démarrer MATLAB.

  • Se connecter à une session MATLAB partagée sur la machine locale.

  • Appeler des fonctions MATLAB avec des arguments en entrée provenant de C++ et des variables en sortie renvoyées par MATLAB.

  • Évaluer des instructions MATLAB dans l’espace de travail de base de MATLAB.

  • Passer des variables de C++ vers MATLAB et de MATLAB vers C++.

Pour en savoir plus, consultez Set Up C++ Development Environment.

L’API de MATLAB Engine pour C++ utilise MATLAB Data API pour C++ qui permet aux applications s’exécutant en dehors de MATLAB de travailler avec des données MATLAB via une interface indépendante du langage. L’API Engine propose également une interface fortement typée qui applique un mapping strict des types de données entre MATLAB et C++. Vous pouvez vous en servir pour appeler des fonctions et des classes MATLAB par leur nom MATLAB en C++ comme si c’étaient des fonctions et classes C++ natives. Pour obtenir un exemple, consultez Integrate Strongly Typed MATLAB Data in C++ Application.

Classes

développer tout

matlab::engine::MATLABEngineEvaluate MATLAB functions from C++ program
matlab::engine::FutureResultRetrieve result from asynchronous operation
matlab::engine::SharedFutureResult Retrieve result from asynchronous operation as shared future
matlab::engine::StreamBuffer Define stream buffer
matlab::engine::String Define UTF-16 string
matlab::engine::WorkspaceTypeType of MATLAB workspace

Fonctions

développer tout

matlab::engine::startMATLABStart MATLAB synchronously
matlab::engine::startMATLABAsyncStart MATLAB asynchronously
matlab::engine::connectMATLABConnect to shared MATLAB session synchronously
matlab::engine::connectMATLABAsyncConnect to shared MATLAB session asynchronously
matlab::engine::findMATLABFind shared MATLAB sessions synchronously
matlab::engine::findMATLABAsyncFind shared MATLAB sessions asynchronously
matlab::engine::terminateEngineClientFree engine resources during run time
matlab::engine::convertUTF8StringToUTF16StringConvert UTF-8 string to UTF-16 string
matlab::engine::convertUTF16StringToUTF8StringConvert UTF-16 string to UTF-8 string
matlab.engine.shareEngineConvert running MATLAB session to shared session
matlab.engine.engineNameReturn name of shared MATLAB session
matlab.engine.isEngineSharedDetermine if MATLAB session is shared
matlab.engine.typedinterface.generateCPPGenerate C++ code interface for MATLAB namespaces, classes, and functions (depuis R2022a)
mexBuild MEX functions and engine or MAT file applications

Rubriques

Configuration requise

Intégrer du code MATLAB dans C++

Démarrer et se connecter à MATLAB

Appeler des fonctions MATLAB

Utiliser des types de données MATLAB dans C++

Informations connexes

Sélection d՚exemples