我知道Python中的cmath用于复杂的数学运算。
import cmath
cmath.exp(-2j)现在我想在指数中使用一个变量:
a = 2
cmath.exp(-a*j)这将引发一个错误:
name 'j' is not defined如何在指数中使用复变量?
发布于 2016-11-30 20:21:56
当在文字中使用时,j被正确地标识为创建复杂对象。除此之外,j将被假定为另一个名称,并将触发对其值的查找。
您仍然需要在文字中定义它:
a = 2j
cmath.exp(-a)
(-0.4161468365471424-0.9092974268256817j)或者,将a馈送到complex
cmath.exp(-complex(0, a)) # or complex(imag=a)发布于 2016-11-30 20:22:48
只需将j编写为1j,以便解析器知道它是一个数字,而不是名为j的变量,
a = 2
cmath.exp(-a*1j)另一种方法是让变量本身在a = 2j中包含一个复数-like,另一种方法是使用内置的complex类名,使用"a“作为虚部,显式地构造一个复数:
a = 2
cmath.exp(complex(0, -a))对于那些不希望在代码中找到复数的人来说,最后一个表单可能更具可读性。
https://stackoverflow.com/questions/40888212
复制相似问题