2012-03-23 93 views
95

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

+7

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

+1

@Denis: debería ser una respuesta – endolith

+1

@josliber: ¿Podemos pasar esta pregunta a http://softwarerecs.stackexchange.com para que se pueda volver a abrir? –

Respuesta

104

Hay varias herramientas alternativas para la conversión de código de Matlab para el código Python (no determinado todavía):

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 Python
  • pymex: incrusta el intérprete de Python en Matlab, también en File Exchange
  • matpy: 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:

+2

¿Alguien tiene un comentario sobre cuál de estos funciona mejor o qué casos fallan? – Chogg

+5

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. –

0

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.

10

Hay OMPC, "Compilador de código abierto Matlab-a-Python", mencionado por @IoannisFilippidis en his answer, - no lo he usado.

+4

Lo intenté, demasiados comandos indefinidos (copiado de matlab) –

Cuestiones relacionadas