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.
Table des matières
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.