Tengo un montón de código de MATLAB de mi tesis de MS que ahora quiero convertir a Python (usando numpy/scipy y matplotlib) y distribuir como de código abierto. Conozco la similitud entre las bibliotecas científicas de MATLAB y Python, y convertirlas manualmente no será más de una quincena (siempre que trabaje para ello todos los días durante algún tiempo). Me preguntaba si ya había alguna herramienta disponible que pueda hacer la conversión.Una herramienta para convertir el código de MATLAB a Python
Respuesta
Hay varias herramientas alternativas para la conversión de código de Matlab para el código Python (no determinado todavía):
- Small Matlab to Python compiler: convertir el código Matlab para código Python, también desarrollaron aquí: [email protected]
- LiberMate: traducir de Matlab a Python y SciPy (Requiere Python 2, última actualización hace 4 años).
- OMPC: Matlab para Python (un poco anticuado)
Además, para aquellos interesados en una interfaz entre las dos lenguas y no conversión:
pymatlab
: comunicarse desde Python mediante el envío datos en el espacio de trabajo de MATLAB, operando en ellos con scripts y retirando los datos resultantes- Python-Matlab wormholes: ambas direcciones de interacción admitidas
- Python-Matlab bridge: utilizar Matlab desde dentro Python, ofrece matlab_magic para IPython, para ejecutar código MATLAB normal desde dentro ipython
- PyMat: Control de Matlab sesión de Python
pymat2
: continuación de la PyMat aparentemente abandonada.mlabwrap
, mlabwrap-purepy: hacer Matlab parezca biblioteca de Python (basado en PyMat)oct2py
: ejecutar comandos de GNU Octave desde dentro Pythonpymex
: incrusta el intérprete de Python en Matlab, también en File Exchangematpy
: Acceda a MATLAB de varias maneras: cree variables, acceda a los archivos .mat, acceda directamente al motor de MATLAB (se requiere la instalación de MATLAB).- MatPy: paquete de Python para el álgebra lineal numérica y trazado con una interfaz similar a Matlab
Por cierto que podría ser útil observar aquí para otras puntas de migración:
En una nota diferente, aunque no soy fan de fortran
, para las personas que puedan encontrarlo útil existe:
¿Alguien tiene un comentario sobre cuál de estos funciona mejor o qué casos fallan? – Chogg
Aún no los he probado, pero parece que smop tiene la exclusiva distinción de ser mantenido activamente, por el desarrollador original, en github, con un conjunto de pruebas. –
no sé de ninguna herramienta automáticas, sino una guía general está disponible aquí: http://www.scipy.org/NumPy_for_Matlab_Users
En general yo sólo mirar la documentación numpy que es muy bueno. Algunos de los nombres de los métodos se asignan directamente, aunque existen diferencias. No tardé mucho en cambiar de Matlab a Numpy cuando hice el salto hace un par de años.
Hay OMPC, "Compilador de código abierto Matlab-a-Python", mencionado por @IoannisFilippidis en his answer, - no lo he usado.
Lo intenté, demasiados comandos indefinidos (copiado de matlab) –
También hay oct2py que puede llamar a .m archivos dentro de pitón
https://pypi.python.org/pypi/oct2py
Requiere GNU Octave, que es altamente compatible con MATLAB.
- 1. Herramienta para convertir sangría python de espacios a pestañas?
- 2. ¿Existe una herramienta efectiva para convertir código C# a código Java?
- 3. cómo convertir el código de Python 3 a Python 2?
- 4. Herramienta para convertir ASP a PHP
- 5. Algoritmo/Herramienta para convertir pMathML a cMathML?
- 6. herramienta para convertir C++ código fuente de diagrama de flujo
- 7. ¿Una herramienta para convertir JSON a C struct?
- 8. Herramienta para convertir Java al código de C#
- 9. ¿Existe una buena herramienta de análisis de dependencia para Python?
- 10. herramienta para formatear automáticamente el código R
- 11. Convertir Matlab Datenum a Datetime
- 12. Herramienta para convertir (traducir) C para ir?
- 13. Herramienta para aplicar estilo/estándares de código python
- 14. Convertir el código C99 a C89
- 15. Herramienta de línea de comandos para convertir PLIST a JSON?
- 16. Herramienta para encontrar el código VHDL comentado
- 17. Traducir el código de Python a Smalltalk
- 18. Matriz de Python a MATLAB
- 19. ¿Alguien usó la herramienta MATLAB para producir el código C/C++? ¿Es el código resultante viable para el uso de producción?
- 20. convirtiendo el código de MATLAB en Fortran
- 21. herramienta para explicar el código C
- 22. Traducir matlab a python/numpy
- 23. ¿Convertir Java a C# con una herramienta, o manualmente?
- 24. Uso de la herramienta de cobertura de código Python para comprender y reducir el código fuente de una biblioteca grande
- 25. ¿Hay alguna herramienta para convertir Managed C++ a C++/CLI?
- 26. ¿Hay alguna herramienta para convertir código fuente c/C++ a html?
- 27. ¿Hay alguna herramienta para convertir VML heredado a SVG?
- 28. Herramienta para convertir Maven pom.xml a leiningen project.clj
- 29. Scripts a documentos (funcionalidad de publicación de Matlab en python)
- 30. ¿Métodos para convertir fórmulas matemáticas en código en Matlab, C++, etc.?
otra posibilidad es liberar su código fuente como es, y probarlo en Octave (www.gnu.org/software/octave), que tiene el 99% competability MATLAB. – Oz123
@Denis: debería ser una respuesta – endolith
@josliber: ¿Podemos pasar esta pregunta a http://softwarerecs.stackexchange.com para que se pueda volver a abrir? –