Contenuto principale

Chiamata di MATLAB da C++

Eseguire il codice MATLAB® a programmi C++, con supporto alla programmazione orientata agli oggetti e all'esecuzione asincrona

L’API di MATLAB Engine per C++ fornisce un’interfaccia tra il linguaggio di programmazione di C++ e MATLAB. Questa API consente ai programmi C++ di avviare MATLAB, valutare le funzioni con argomenti di MATLAB e scambiare dati tra MATLAB e i programmi C++. Le operazioni supportate includono:

  • Avviare MATLAB.

  • Connettersi a una sessione condivisa di MATLAB sulla macchina locale.

  • Chiamare le funzioni di MATLAB con gli argomenti di input passati da C++ e le variabili di output restituite da MATLAB.

  • Valutare le dichiarazioni di MATLAB nel workspace di base di MATLAB.

  • Passare le variabili da C++ a MATLAB e da MATLAB a C++.

Per iniziare, vedere Set Up C++ Development Environment.

L’API di MATLAB Engine per C++ utilizza il API dei dati di MATLAB per C++, che fornisce un modo per le applicazioni in esecuzione al di fuori di MATLAB di lavorare con i dati di MATLAB attraverso un'interfaccia neutrale rispetto al linguaggio. L'API di engine fornisce inoltre un'interfaccia fortemente tipizzata che impone una rigorosa mappatura dei tipi di dati tra MATLAB e C++. È possibile utilizzare questa interfaccia fortemente tipizzata per chiamare funzioni e classi di MATLAB con i loro nomi MATLAB in C++, come se fossero funzioni e classi native di C++. Per un esempio, vedere Integrate Strongly Typed MATLAB Data in C++ Application.

Classi

espandi tutto

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

Funzioni

espandi tutto

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

Argomenti

Requisiti

Integrazione di codice MATLAB in C++

Avvio e connessione a MATLAB

Chiamata delle funzioni di MATLAB

Utilizzo del tipo di dati di MATLAB in C++

Informazioni complementari

Esempi in primo piano