Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Aufrufen von MATLAB aus C++ heraus

Ausführen von MATLAB®-Code aus C++ Programmen heraus, mit objektorientierter Programmierung und asynchroner Ausführung

Die MATLAB-Engine-API für C++ bietet eine Schnittstelle zwischen der Programmiersprache C++ und MATLAB. Mit dieser API können C++ Programme MATLAB starten, MATLAB-Funktionen mit Argumenten evaluieren und Daten zwischen MATLAB und C++ Programmen austauschen. Die unterstützten Operationen sind:

  • Starten Sie MATLAB.

  • Herstellen einer Verbindung zu einer freigegebenen MATLAB-Sitzung auf der lokalen Maschine

  • Aufrufen von MATLAB-Funktionen mit Eingabeargumenten, die von C++ übergeben wurden, und Ausgabevariablen, die von MATLAB zurückgegeben werden

  • Evaluieren von MATLAB-Anweisungen im MATLAB-Basis-Workspace

  • Übergeben von Variablen von C++ an MATLAB und von MATLAB an C++

Informationen zum Einstieg finden Sie unter Set Up C++ Development Environment.

Die MATLAB-Engine-API für C++ nutzt MATLAB-Daten-API für C++. Dies ist eine Möglichkeit, wie Anwendungen, die außerhalb von MATLAB ausgeführt werden, über eine sprachneutrale Schnittstelle mit MATLAB-Daten arbeiten können. Die Engine-API stellt auch eine streng typisierte Schnittstelle bereit, die eine strikte Datentyp-Zuordnung zwischen MATLAB und C++ erzwingt. Diese streng typisierte Schnittstelle können Sie verwenden, um MATLAB-Funktionen und -Klassen über deren MATLAB-Namen in C++ so aufzurufen, als wären sie native C++-Funktionen und -Klassen. Ein Beispiel dazu finden Sie unter Integrate Strongly Typed MATLAB Data in C++ Application.

Klassen

alle erweitern

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

Funktionen

alle erweitern

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 (Seit R2022a)
mexBuild MEX functions and engine or MAT file applications

Themen

Anforderungen

Integrieren von MATLAB-Code in C++

Starten und Herstellen einer Verbindung zu MATLAB

Aufrufen von MATLAB-Funktionen

Verwenden von MATLAB-Datentypen in C++

Verwandte Informationen

Enthaltene Beispiele