2012-03-23 35 views
95

Ho un mucchio di codice MATLAB dalla mia tesi di laurea che ora voglio convertire in Python (usando numpy/scipy e matplotlib) e distribuire come open-source. Conosco la somiglianza tra le librerie scientifiche MATLAB e Python e convertirle manualmente non sarà più di una quindicina (a condizione che ci lavori ogni giorno per un po 'di tempo). Mi stavo chiedendo se ci fosse già qualche strumento disponibile che possa fare la conversione.Uno strumento per convertire il codice MATLAB in Python

+7

un'altra possibilità è quella di rilasciare il codice sorgente pura e provarlo in ottava (www.gnu.org/software/octave), che ha il 99% MATLAB competability. – Oz123

+1

@Denis: dovrebbe essere una risposta – endolith

+1

@josliber: possiamo spostare questa domanda su http://softwarerecs.stackexchange.com in modo che possa essere riaperta? –

risposta

104

Ci sono diversi strumenti alternativi per la conversione del codice Matlab per codice Python (non ancora testato):

Inoltre, per coloro che sono interessati in un'interfaccia tra le due lingue e non conversione:

  • pymatlab: comunicare da Python con l'invio dati nello spazio di lavoro MATLAB, operando su di essi con script e tirando indietro i dati risultanti
  • Python-Matlab wormholes: entrambe le direzioni di interazione supportate
  • Python-Matlab bridge: utilizzare Matlab dall'interno di Python, offre matlab_magic per ipython, per eseguire il normale codice MATLAB dall'interno ipython
  • PyMat: Controllo Matlab sessione dal Python
  • pymat2: continuazione della PyMat apparentemente abbandonata.
  • mlabwrap, mlabwrap-purepy: rendere Matlab sembrare libreria Python (sulla base di PyMat)
  • oct2py: eseguire i comandi GNU Octave dall'interno Python
  • pymex: incorpora l'interprete Python in Matlab, anche File Exchange
  • matpy: Accedi a MATLAB in vari modi: crea variabili, accedi ai file .mat, interfaccia diretta al motore MATLAB (richiede che MATLAB sia installato).
  • MatPy: package Python per l'algebra lineare numerica e tramando con un MatLab-come l'interfaccia

Btw potrebbe essere utile guardare qui per altri suggerimenti di migrazione:

Su una nota diversa, anche se non sono affatto una fan fortran, per le persone che potrebbero trovare utile c'è:

+2

Qualcuno ha un commento su quale di questi funziona meglio o quali casi falliscono? – Chogg

+5

Non li ho ancora testati, ma sembra che lo smop abbia l'unica differenza di essere mantenuto attivamente, dallo sviluppatore originale, su github, con una suite di test. –

0

non so di eventuali strumenti automatici, ma una guida generale è disponibile qui: http://www.scipy.org/NumPy_for_Matlab_Users

In generale vorrei solo osservare la documentazione NumPy che è molto buono. Alcuni dei nomi dei metodi mappano direttamente, sebbene ci siano differenze. Non mi ci è voluto molto per passare da Matlab a Numpy quando ho fatto il salto un paio di anni fa.

10

C'è OMPC, "Compilatore Matlab-a-Python open source", citato da @IoannisFilippidis in his answer, - non l'ho usato comunque.

+4

Ho provato, troppi comandi non definiti (copiati da MATLAB) –

Problemi correlati