MATLABコードをPythonに変換するツール[終了]


150

私のMS論文から多数のMATLABコードがあり、これを(numpy / scipyとmatplotlibを使用して)Pythonに変換し、オープンソースとして配布したいと考えています。私は、MATLABとPythonの科学ライブラリの類似性を知っており、それらを手動で変換するのは2週間に過ぎません(しばらくの間毎日それに向けて作業することを前提としています)。変換を実行できるツールがすでにあるかどうか疑問に思っていました。


7
もう1つの可能性は、ソースコードをそのままリリースし、99%のMATLABとの互換性があるOctave(www.gnu.org/software/octave)でテストすることです。
Oz123 2012年

2
@josliber:この質問をsoftwarerecs.stackexchange.comに移動して、再度開くことができますか?
アンダーソングリーン

@andersongreen質問は移行するには古すぎる
josliber

1
私はこれを行うための最善の方法は、組み込みのツールMathWorks社のMATLABを使用することで、今だと思うMCCを
R3M

回答:


157

MatlabをPythonコードに変換するためのツールがいくつかあります。

最近のアクティビティ(2018年6月からの最後のコミット)が見られるのは、S mall M atlab t o P ythonコンパイラ(ここでも開発されたもの:SMOP @ chiselapp)だけです。

その他のオプションは次のとおりです。

  • LiberMate:MatlabからPythonおよびSciPyに変換します(Python 2が必要、4年前の最終更新)。
  • OMPC:MatlabからPythonへ(少し時代遅れ)。

また、変換ではなく、2つの言語間のインターフェースに関心のある人のために:

  • pymatlab:Pythonから通信するには、MATLABワークスペースにデータを送信し、スクリプトで操作して、結果のデータを引き戻します。
  • Python-Matlabワームホール:双方向の相互作用がサポートされています。
  • Python-Matlabブリッジ:Python内からMatlabを使用し、iPython用のmatlab_magicを提供して、ipython内から通常のmatlabコードを実行します。
  • PyMat:PythonからMatlabセッションを制御します。
  • pymat2:放棄されたように見えるPyMatの継続。
  • mlabwrapmlabwrap-purepy:MatlabをPythonライブラリのように見せます(PyMatベース)。
  • oct2py:Python内からGNU Octaveコマンドを実行します。
  • pymex:Python InterpreterをMatlabに埋め込みます。これもFile Exchangeにあります。
  • matpy:さまざまな方法でMATLABにアクセスします。変数の作成、.matファイルへのアクセス、MATLABエンジンへの直接インターフェイス(MATLABのインストールが必要)。
  • MatPy:数値線形代数とMatLabのようなインターフェイスでプロットするためのPythonパッケージ。

ところで、他の移行のヒントについては、こちらをご覧ください。

別の言い方fortranをすれば、私はまったくファンではありませんが、それが役立つと思う人のために、次のようなものがあります。


2
これらのうちどれが最も効果的であるか、どのケースが失敗するかについてのコメントはありますか?
Chogg 14

8
私もまだそれらをテストしていませんが、smopはテストスイートを備えたgithubで元の開発者によって積極的に維持されているという唯一の違いがあるようです。
Andrew Wagner

インターフェイスを確立するメソッドのうち、MATLAB関数を呼び出すのが最も速いのはどれですか。
ViktorTóth18年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.