web-dev-qa-db-fra.com

Un outil pour convertir le code MATLAB en Python

J'ai un tas de code MATLAB de ma thèse de MS que je veux maintenant convertir en Python (en utilisant numpy/scipy et matplotlib) et le distribuer en open-source. Je connais la similitude entre MATLAB et Python bibliothèques scientifiques, et leur conversion manuelle ne prendra pas plus de quinze jours (à condition que j'y travaille chaque jour pendant un certain temps). Je me demandais s'il existait déjà un outil permettant de convertir les fichiers.

129
Jack_of_All_Trades

Il existe plusieurs outils pour convertir Matlab en Python code.

Le seul qui ait vu une activité récente (le dernier engagement date de juin 2018) est le suivant: SM atlab t o P Compilateur ython (également développé ici: SMOP @ chiselapp ).

Les autres options incluent:

  • LiberMate : traduction de Matlab en Python et SciPy (nécessite Python 2, dernière mise à jour il y a 4 ans).
  • OMPC : Matlab to Python (un peu obsolète).

Aussi, pour ceux intéressés par une interface entre les deux langues et la conversion et non :

  • pymatlab : communiquez à partir de Python en envoyant des données à l'espace de travail MATLAB, en les exploitant à l'aide de scripts et en récupérant les données obtenues.
  • trous de ver Python-Matlab : les deux sens d'interaction supportés.
  • pont Python-Matlab : utiliser Matlab à partir de Python, offre matlab_magic pour iPython, pour exécuter du code matlab normal à partir de ipython.
  • PyMat : Contrôle la session Matlab à partir de Python.
  • pymat2 : continuation du PyMat apparemment abandonné.
  • mlabwrap , mlabwrap-purepy : permet à Matlab de ressembler à la bibliothèque Python (basé sur PyMat).
  • oct2py : exécutez GNU commandes Octave depuis Python.
  • pymex : incorpore l'interprète Python dans Matlab, également sur Échange de fichiers .
  • matpy : Accédez à MATLAB de différentes manières: création de variables, accès aux fichiers .mat, interface directe avec le moteur MATLAB (l'installation de MATLAB est requise).
  • MatPy : Python package pour l'algèbre linéaire numérique et le traçage avec une interface de type MatLab.

Btw peut être utile de chercher ici d'autres astuces de migration:

Sur une note différente, bien que je ne sois pas du tout un fan de fortran, pour ceux qui pourraient le trouver utile, il existe:

136
Ioannis Filippidis

Il y a OMPC , "Compilateur Open-source Matlab-to-Python", mentionné par @IoannisFilippidis dans sa réponse , - ne l'a pas utilisé cependant.

10
denis

Il y a aussi oct2py qui peut appeler des fichiers .m dans python

https://pypi.python.org/pypi/oct2py

Il nécessite GNU Octave, qui est hautement compatible avec MATLAB.

https://www.gnu.org/software/octave/

5
norweeg