Інструмент для перетворення коду MATLAB в Python [закрито]


150

У мене є купа коду MATLAB з моєї дипломної роботи, яку я зараз хочу перетворити на Python (використовуючи numpy / scipy та matplotlib) та розповсюджуючи її як відкритий код. Я знаю схожість між науковими бібліотеками MATLAB і Python, і перетворення їх вручну буде не більше двох тижнів (за умови, що я працюю над цим щодня протягом певного часу). Мені було цікаво, чи вже є якийсь інструмент, який може зробити перетворення.


7
інша можливість - випустити свій вихідний код таким, який він є, і протестувати його в Octave (www.gnu.org/software/octave), який має 99% -ну конкурентоспроможність.
Oz123

2
@josliber: Чи можемо ми перенести це питання на softwarerecs.stackexchange.com, щоб його можна було знову відкрити?
Андерсон Грін

@andersongreen питання занадто старе для міграції
josliber

1
Я думаю, що зараз найкращий спосіб зробити це використовувати вбудований інструмент
matlab

Відповіді:


157

Існує кілька інструментів для перетворення Matlab в код Python.

Єдиний, який спостерігав недавню діяльність (остання комісія з червня 2018 року), це компілятор S mall M atlab t o P ython (також розроблений тут: SMOP @ chiselapp ).

Інші варіанти включають:

  • LiberMate : перекласти з Matlab на Python та SciPy (Потрібно Python 2, останнє оновлення 4 роки тому).
  • OMPC : Matlab до Python (трохи застарілий).

Також для тих, хто цікавиться інтерфейсом між двома мовами, а не конвертацією:

  • pymatlab: спілкуватися з Python, надсилаючи дані в робочу область MATLAB, оперуючи ними сценаріями та відтягуючи отримані дані назад.
  • Червотоки Python-Matlab : підтримуються обидва напрямки взаємодії.
  • Міст Python-Matlab : використовуйте Matlab зсередини Python, пропонує matlab_magic для iPython, щоб виконувати звичайний код matlab з ipython.
  • PyMat : Управління сеансом Matlab від Python.
  • pymat2: продовження, здавалося б, покинутого PyMat.
  • mlabwrap, mlabwrap-purepy : зробіть Matlab схожим на бібліотеку Python (на основі PyMat).
  • oct2py: запускайте команди GNU Octave з Python.
  • pymex: Вбудовує інтерпретатор Python в Matlab, також у файлообмін .
  • matpy: Доступ до MATLAB різними способами: створення змінних, доступ до .mat файлів, прямий інтерфейс до двигуна MATLAB (вимагається встановлення MATLAB).
  • MatPy : Пакет Python для числової лінійної алгебри та графіки з інтерфейсом, схожим на MatLab.

Btw може бути корисним для пошуку інших порад щодо міграції:

З іншого боку, хоча я взагалі не fortranшанувальник, для людей, які можуть вважати це корисним, є:


2
Хтось має зауваження, який із цих робіт найкраще чи які випадки не вдалося?
Чогг

8
Я їх ще не перевіряв, але, схоже, що смоп має єдине відмінність того, що він активно підтримувався оригінальним розробником на github, з тестовим набором.
Ендрю Вагнер

яка з методів створення інтерфейсу найшвидше викликати функції matlab?
Віктор Тот

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.