我试过了:
plot(z)
其中z
是一个复数列表,用于绘制abs(z)
与索引的关系。
plot( z.real, z.imag )
不起作用,它说list
没有属性real
。
答案 0 :(得分:3)
如果z
是复杂列表,请使用
[k.real for k in z]
提取列表中每个数字的实部。
答案 1 :(得分:0)
如果我正确理解了您的问题,那么在修复属性错误时可能会有效。据我所知,“.real”和“.imag”必须在复数上执行,这意味着除非有j分量,否则它们将无法工作:
>>> a = 2.5
>>> print a.real
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'float' object has no attribute 'real'
>>> a = 2.5 + 0j
>>> print a.real
2.5
在我看来,对于plot()的参数,你试图在列表上使用“.real”和“.imag”。我建议尝试在列表中的复数上使用“.real”和“.imag”。对于复数列表z:
>>> z[0].real
>>> z[0].imag
将分别调用z中第一个复数的实部和虚部。我确信有很多方法可以做到这一点,但以下内容非常简单:
>>> x = []
>>> y = []
>>> for num in z:
... x.append(num.real)
... y.append(num.imag)
...
>>> plot(x,y)
抱歉这太罗嗦了,我真累了哈哈。虽然我之前从未使用过plot(),但我的理解是它可以绘制列表以便它可以正常工作。