将MATLAB代码转换为Python的工具

时间:2012-03-23 19:22:09

标签: python matlab numpy matplotlib scipy

我的MS论文中有一堆MATLAB代码,我现在要将其转换为Python(使用numpy / scipy和matplotlib)并作为开源分发。我知道MATLAB和Python科学库之间的相似性,并且手动转换它们将不会超过两周(假设我每天都在努力工作一段时间)。我想知道是否已经有任何可以进行转换的工具。

3 个答案:

答案 0 :(得分:133)

有几种替代工具可以将Matlab代码转换为Python代码(尚未测试):

此外,对于那些对两种语言之间的接口感兴趣并且转换的人:

  • pymatlab:通过将数据发送到MATLAB工作区,使用脚本对其进行操作并拉回结果数据,从Python进行通信。
  • Python-Matlab wormholes:支持两个互动方向。
  • Python-Matlab bridge:在Python中使用Matlab,为iPython提供matlab_magic,从ipython中执行普通的matlab代码。
  • PyMat:从Python控制Matlab会话。
  • pymat2:看似遗弃的PyMat的继续。
  • mlabwrapmlabwrap-purepy:让Matlab看起来像Python库(基于PyMat)。
  • oct2py:从Python中运行GNU Octave命令。
  • pymex:将Python解释器嵌入到Matlab中,也放在File Exchange上。
  • matpy:以各种方式访问​​MATLAB:创建变量,访问.mat文件,直接连接到MATLAB引擎(需要安装MATLAB)。
  • MatPy:用于数值线性代数的Python包,并使用类似MatLab的接口进行绘图。

顺便说一下,查看其他迁移提示可能会有所帮助:

另一方面,虽然我根本不是fortran粉丝,但对于那些可能会觉得有用的人来说,有:

答案 1 :(得分:10)

OMPC,@ IoannisFilippidis在his answer中提到的“开源Matlab-to-Python编译器” - 虽然没有使用它。

答案 2 :(得分:5)

还有oct2py可以调用python中的.m文件

https://pypi.python.org/pypi/oct2py

它需要GNU Octave,它与MATLAB高度兼容。

https://www.gnu.org/software/octave/