Contenu principal

Appeler MATLAB à partir de C

Exécuter du code MATLAB® depuis des programmes C avec mxArray

Les applications Engine sont des programmes qui vous permettent d’appeler MATLAB depuis vos propres programmes C/C++ en utilisant MATLAB comme moteur de calcul. Pour créer une application Engine C, appelez la fonction mex.

Remarque

Il est recommandé d’utiliser MATLAB Engine API pour C++ plutôt qu’Engine API pour C. MATLAB Engine API pour C++ propose les fonctionnalités du C++ moderne pour écrire des applications Engine. Pour plus d’informations, consultez Appeler MATLAB à partir de C++. Il n’est pas prévu de supprimer Engine API pour C.

Les applications Engine nécessitent une version installée de MATLAB. Vous ne pouvez pas exécuter MATLAB Engine sur un ordinateur seulement équipé de MATLAB Runtime.

Pour créer une application Engine C, il vous faut :

  • Une bonne expérience de l’écriture de code source C. Vous pouvez créer des fichiers de code source C avec Engine API pour C et les fonctions C Matrix API.

  • Un compilateur supporté par MATLAB. Pour une liste à jour des compilateurs supportés, consultez Supported and Compatible Compilers (Compilateurs supportés et compatibles).

  • Utiliser le script de compilation mex avec l’option -client engine.

Engine API pour C

EngineType for MATLAB engine
engOpenStart MATLAB engine session
engOpenSingleUseStart MATLAB engine session for single, nonshared use
engCloseQuit MATLAB engine session
engEvalStringEvaluate expression in string
engGetVariableCopy variable from MATLAB engine workspace
engPutVariablePut variable into MATLAB engine workspace
engGetVisibleDetermine visibility of MATLAB engine session
engSetVisibleShow or hide MATLAB engine session
engOutputBufferSpecify buffer for MATLAB output

Rubriques

Configuration requise

Écrire des applications Engine

Créer et exécuter des applications Engine

Résolution des problèmes

Can't Start MATLAB Engine

What to do when MATLAB engine does not run.

Debug MATLAB Function Called by C Engine

How to verify MATLAB functions used in engine applications.

User Input Not Supported

Some MATLAB functions that interact with the user are not supported in engine applications.

Multithreaded Applications

MATLAB libraries are not thread-safe.