如何自动将matlab代码转换为python代码
How to convert matlab code to python code automatically
我有一个巨大的 Matlab 代码,我想将其转换为 Python,我的代码超过 10K 行代码,此外,它还包括对其他 Matlab 文件、工具箱、绘图和图形用户界面数字。因此,我正在寻找此问题的自动解决方案来帮助我。
我在网上搜索了一下,找到了一个叫SMOP的包,很不错,可惜只支持Python2.7,而且不包含图形转换和GUI图形,而且我不确定它是否能够将调用转换为工具箱。另外,有时它会给我一个错误。
这是迄今为止我找到的最佳选择,但我真的想要一个更好的解决方案,因为您可以看到代码有多大。
如果有人能帮我解决这个问题,我将不胜感激。
我认为简短的回答是没有这样的工具可以可靠地完成这项工作。
您可以在 python 中使用 matlab 代码,相反使用 matlab 引擎 API,但有一些限制。在文档 here
中查看更多详细信息
不幸的是,不存在这样的工具,尤其是对于工具箱转换等复杂的事情。
我建议您尝试在代码库中找到可以将逻辑划分为独立模块的地方。然后,您可以一次转换一个模块的代码。您应该已经开始熟悉 numpy,它将替代您的大部分矩阵数学运算。然后,您将需要找到使用 MATLAB 引擎等工具将代码拼凑在一起的方法。
值得注意的是,将 Python 2 转换为 3 相对简单,并且有一个官方工具 (2to3) 可以帮助您自动执行此操作。但是,请小心使用您发现的那种转换器,快速扫描他们的 github 显示 65 个未解决的问题并且将近 3 年没有更新。
祝你转换顺利,虽然它不会像你希望的那么容易,但在长期 运行 中是值得的。
我有一个巨大的 Matlab 代码,我想将其转换为 Python,我的代码超过 10K 行代码,此外,它还包括对其他 Matlab 文件、工具箱、绘图和图形用户界面数字。因此,我正在寻找此问题的自动解决方案来帮助我。
我在网上搜索了一下,找到了一个叫SMOP的包,很不错,可惜只支持Python2.7,而且不包含图形转换和GUI图形,而且我不确定它是否能够将调用转换为工具箱。另外,有时它会给我一个错误。
这是迄今为止我找到的最佳选择,但我真的想要一个更好的解决方案,因为您可以看到代码有多大。 如果有人能帮我解决这个问题,我将不胜感激。
我认为简短的回答是没有这样的工具可以可靠地完成这项工作。 您可以在 python 中使用 matlab 代码,相反使用 matlab 引擎 API,但有一些限制。在文档 here
中查看更多详细信息不幸的是,不存在这样的工具,尤其是对于工具箱转换等复杂的事情。
我建议您尝试在代码库中找到可以将逻辑划分为独立模块的地方。然后,您可以一次转换一个模块的代码。您应该已经开始熟悉 numpy,它将替代您的大部分矩阵数学运算。然后,您将需要找到使用 MATLAB 引擎等工具将代码拼凑在一起的方法。
值得注意的是,将 Python 2 转换为 3 相对简单,并且有一个官方工具 (2to3) 可以帮助您自动执行此操作。但是,请小心使用您发现的那种转换器,快速扫描他们的 github 显示 65 个未解决的问题并且将近 3 年没有更新。
祝你转换顺利,虽然它不会像你希望的那么容易,但在长期 运行 中是值得的。