Guides de référence

Appeler MATLAB depuis Python

Ce guide de référence présente des cas d'utilisation courants, mais n'est en aucun cas exhaustif. 

Améliorer Python avec MATLAB

Intégrez les outils avancés de MATLAB directement dans vos workflows Python.

Configuration

Installer l'API MATLAB Engine pour Python

Pour utiliser l'API MATLAB Engine pour Python®, vous devez avoir ces deux applications installées sur votre système. Installez l'API MATLAB Engine en tant que package Python.

Installer en utilisant pip

À partir de l'invite système : 

$ python -m pip install matlabengine

Installer en utilisant setup.py

Exécutez le fichier setup.py à partir de l'invite système :

$ cd [matlabroot]/extern/engines/ python
 $ python setup.py install

Pour le dépannage, vérifiez les privilèges (exécution en tant qu'administrateur), le PYTHONPATH et les chemins système. 

API MATLAB Engine

Utilisez l'API MATLAB Engine pour appeler MATLAB depuis Python.

Importer le module et démarrer l'élément engine :

>>> import matlab.engine
>>> eng = matlab.engine.start_matlab() 

Appeler des fonctions via le moteur :

>>> x = eng.sqrt(42.0) 

Capturer plusieurs sorties :

>>> x = eng.gcd(42.0,8.0,nargout=3) 
>>> x = eng.plot(x,y,nargout=0) 

Arrêter le moteur :

>>> x = eng.exit()

Conversion des types de données

Les types de données seront automatiquement convertis lorsque c’est possible.

Python MATLAB
float double
complex complex double
int int64
float(nan) NaN
float(inf) Inf
bool logical
str char
dict struct
list cell array
set cell array
tuple cell array

Vous pouvez créer des tableaux MATLAB dans Python pour transmettre facilement les données aux fonctions MATLAB :

>>> x = matlab. double([1,4,9])

Utiliser les applications MATLAB

Utiliser l'espace de travail de MATLAB Engine

L'espace de travail de MATLAB Engine permet d'accéder à des variables depuis MATLAB et Python, et facilite l'utilisation des applications.

Ajouter une variable à l'espace de travail :

>>> x = 4.0 >>> eng.workspace['y'] = x 

Accéder à la variable depuis l'espace de travail MATLAB :

>>> x = eng.workspace['y'] 

Exécuter des d'instructions en utilisant la fonction eval :

>>> a = eng.eval('sqrt(y)')

Vous pouvez ouvrir des applications dans MATLAB depuis Python en utilisant la commande pour l’application :

>>> eng.signalAnalyzer() 
>>> eng.classificationLearner()

Créer un package Python

Les fonctions MATLAB de package utilisent l'application Library Compiler pour créer un package Python pour les fonctions MATLAB.

Appeler des fonctions MATLAB depuis le package Python

>>> import PackageName 
>>> pkg = PackageName.initialize() 
>>> result = pkg.Foo() 

Fermer le package

>>> pkg.terminate()

MATLAB dans d'autres IDE

Vous pouvez utiliser MATLAB depuis Jupyter® ou VSCode.

Installer l'intégration de MATLAB pour Jupyter

Par exemple, installez le package pour exécuter MATLAB depuis Jupyter.

$ python pip install jupyter-matlab-proxy 
$ install-matlab-kernelspec 

Vous pouvez maintenant utiliser MATLAB dans un navigateur ou exécuter du code dans votre notebook avec le noyau MATLAB.