将matlab程序转换为等效的python代码

时间:2012-08-10 09:20:20

标签: python numpy scipy

想要在Python中实现下面列出的Matlab命令。我能够在Python中找出Matlab等效命令,但我没有得到确切的结果。有人可以帮助我实现这一目标。

MATLAB代码:

n0 = 3
n1 = 1
n2 = 5
n = [n1:n2]
>> 1 2 3 4 5
x = [(n - n0) == 0]
>> 0 0 1 0 0

PYTHON CODE:

import numpy 
n0 = 3
n1 = 1
n2 = 5
n = r_[n1:n2+1]
>> [1 2 3 4 5]
x = r_[(n-n0) == 0]
>> [False False True False False]

所以x是我的数组,其布尔数据类型为“[array([False,False,True,False False],dtype = bool)]”。如何使我的最后一个命令以0或1的形式返回结果,使得结果与Matlab完全相同。

1 个答案:

答案 0 :(得分:2)

使用列表推导将bool转换为int:

[int(val) for val in x]