【问题标题】:How to convert matlab code to python code automatically如何将matlab代码自动转换为python代码
【发布时间】:2021-03-26 03:54:53
【问题描述】:

我有一个庞大的 Matlab 代码,我想将其转换为 Python,我的代码超过 10K 行代码,此外,它还包括对其他 Matlab 文件、工具箱、绘图和 GUI 图形的一些调用。因此,我正在寻找一个自动解决这个问题的方法来帮助我。

我在网上找了一个叫SMOP的包,很好用,可惜只支持Python2.7,也不包含图形转换和GUI图形,我不确定它是否能够将调用转换为工具箱。此外,有时它会给我一个错误。

这是迄今为止我找到的最佳选择,但我真的想要一个更好的解决方案,因为您可以看到代码有多大。 如果有人能帮我解决这个问题,我将不胜感激。

【问题讨论】:

  • 我认为没有工具或功能可以做到这一点

标签: python python-3.x python-2.7 matlab automation


【解决方案1】:

不幸的是,没有这样的工具存在,尤其是对于复杂的事情,比如工具箱的转换。

我建议您尝试在代码库中找到可以将逻辑划分为独立模块的位置。然后,您可以一次将代码转换为一个模块。您应该已经开始熟悉numpy,它将替代您的大多数矩阵数学运算。然后,您将需要找到使用 MATLAB 引擎等工具将代码拼凑在一起的方法。

值得注意的是,将 Python 2 转换为 3 相对简单,并且有一个官方工具 (2to3) 可以帮助您自动执行此操作。但是,请小心使用您找到的转换器,快速扫描他们的 github 显示 65 个未解决的问题,并且近 3 年没有更新。

祝你好运,虽然它不会像你希望的那么容易,但从长远来看是值得的。

【讨论】:

  • 我很害怕,我想我会尝试你的建议(划分我的代码),然后看看我的情况如何。谢谢你的回答。
【解决方案2】:

我认为简短的回答是没有这样的工具可以可靠地做到这一点。 您可以在 python 中使用 matlab 代码,反之则使用 matlab 引擎 API,但有一些限制。在文档here中查看更多详细信息

【讨论】:

  • 这是一个选项,但我们更喜欢有独立于MATLAB的python代码,如果没有提供解决方案,我想我们没有其他选择。谢谢你的回答
猜你喜欢
  • 2022-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多