Alat untuk mengonversi kode MATLAB ke Python [ditutup]


150

Saya memiliki banyak kode MATLAB dari tesis MS saya yang sekarang ingin saya konversi ke Python (menggunakan numpy / scipy dan matplotlib) dan distribusikan sebagai open-source. Saya tahu kesamaan antara perpustakaan ilmiah MATLAB dan Python, dan mengonversinya secara manual tidak lebih dari dua minggu (asalkan saya bekerja ke sana setiap hari selama beberapa waktu). Saya bertanya-tanya apakah sudah ada alat yang tersedia yang dapat melakukan konversi.


7
kemungkinan lain adalah merilis kode sumber Anda apa adanya, dan mengujinya dalam Oktaf (www.gnu.org/software/octave) yang memiliki 99% kemampuan matlab.
Oz123

2
@josliber: Bisakah kita memindahkan pertanyaan ini ke softwarerecs.stackexchange.com sehingga dapat dibuka kembali?
Anderson Green

@andersongreen pertanyaannya terlalu tua untuk migrasi
josliber

1
Saya pikir sekarang cara terbaik untuk melakukan ini adalah dengan menggunakan alat matlab built-in mcc
R3m

Jawaban:


157

Ada beberapa alat untuk mengubah kode Matlab ke Python.

Satu-satunya yang terlihat aktivitas terakhir (komit terakhir dari Juni 2018) adalah S mal M atlab t o P compiler ython (juga dikembangkan di sini: SMOP @ chiselapp ).

Pilihan lain termasuk:

  • LiberMate : terjemahkan dari Matlab ke Python dan SciPy (Membutuhkan Python 2, pembaruan terakhir 4 tahun lalu).
  • OMPC : Matlab ke Python (agak ketinggalan jaman).

Juga, bagi mereka yang tertarik dengan antarmuka antara kedua bahasa dan bukan konversi:

  • pymatlab: berkomunikasi dari Python dengan mengirimkan data ke ruang kerja MATLAB, mengoperasikannya dengan skrip dan menarik kembali data yang dihasilkan.
  • Lubang cacing Python-Matlab : kedua arah interaksi didukung.
  • Python-Matlab bridge : gunakan Matlab dari dalam Python, menawarkan matlab_magic untuk iPython, untuk mengeksekusi kode matlab normal dari dalam ipython.
  • PyMat : Kontrol sesi Matlab dari Python.
  • pymat2: kelanjutan dari PyMat yang tampaknya ditinggalkan.
  • mlabwrap, mlabwrap-purepy : membuat Matlab terlihat seperti pustaka Python (berdasarkan PyMat).
  • oct2py: jalankan perintah GNU Octave dari dalam Python.
  • pymex: Cantumkan Python Interpreter di Matlab, juga di File Exchange .
  • matpy: Akses MATLAB dengan berbagai cara: buat variabel, akses file .mat, antarmuka langsung ke mesin MATLAB (harus diinstal MATLAB).
  • MatPy : Paket Python untuk aljabar linier numerik dan merencanakan dengan antarmuka seperti MatLab.

Btw mungkin membantu untuk mencari di sini untuk tips migrasi lainnya:

Pada nada yang berbeda, meskipun saya bukan fortranpenggemar sama sekali, bagi orang-orang yang mungkin merasa berguna ada:


2
Adakah yang punya komentar tentang mana yang paling berhasil atau mana yang gagal?
Chogg

8
Saya belum mengujinya juga, tetapi sepertinya smop memiliki satu-satunya perbedaan yang dipelihara secara aktif, oleh pengembang asli, di github, dengan test suite.
Andrew Wagner

mana yang tercepat untuk memanggil fungsi matlab dari metode membangun antarmuka?
Viktor Tóth

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.