将Matlab代码转换为Python

时间:2015-11-07 17:01:57

标签: python matlab

我是一个沉重的Matlab程序员,需要完成Matlab本身无法完成的任务。为此,我选择了Python。我已经完成了Codecademy Python课程,我正在通过Zed Shaw的学习Python艰难的方式。另外,我已经熟悉了NumPy和SciPy。

在过去的一周里,我几乎尝试了从Matlab到Python转换器到Matlab和Python之间接口的所有内容。我也花了很多时间直接用Python编写代码。但我一直没能得到任何工作。鉴于我的Matlab代码,我将提供一份我正在努力的领域列表。

Matlab代码:http://pastebin.com/4tkne94Z

此代码的作用:它解决了常微分方程的一般系统并输出图形。外部函数Array的输入参数N指定系统中的ODE数,其中N是偶数。 (使用求和符号定义ODE并相应地建立索引。这就是它们可推广的原因。)

使用Python的目标:运行一个循环遍历N的脚本,范围从2到1000,步长为2.由于Matlab的开销,这几乎是不可能的,但在Python中是可行的(特别是考虑到我可以访问超级计算群集)。

翻译问题:我对Python语法感到满意。但与功能无关,包括外部,内部和嵌套功能。因此,我对翻译的尝试是徒劳的。

  1. 如何在Python中相应地定义代码中的函数?
  2. 我应该在哪里加入主要的for循环系列?
  3. 最后,我不确定如何在Python中正确定义全局变量!
  4. 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我在matlab方面的经验有限,但这是基于查看代码的输入

  1. 我会在main函数之外定义EqnsArray,并添加N作为参数之一。
  2. 如果您在matlab中使用了什么,我不知道如何更改
  3. 根据我所看到的情况,我认为你不需要宣布任何全球性的东西。在函数内部未遇到的任何变量都将被假定为python中的全局变量。