che*_*gpu 0 python math python-3.x
我知道cmathin Python用于复杂的数学运算.
import cmath
cmath.exp(-2j)
Run Code Online (Sandbox Code Playgroud)
现在我想在其指数中使用一个变量:
a = 2
cmath.exp(-a*j)
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
name 'j' is not defined
Run Code Online (Sandbox Code Playgroud)
如何在exp的指数中使用复数变量?
在文字中使用时,j被正确识别为创建复杂对象.除此之外,j将被假定为另一个名称,并且将触发其价值的查找.
您仍然需要在文字中定义它:
a = 2j
cmath.exp(-a)
(-0.4161468365471424-0.9092974268256817j)
Run Code Online (Sandbox Code Playgroud)
或者,喂a到complex:
cmath.exp(-complex(0, a)) # or complex(imag=a)
Run Code Online (Sandbox Code Playgroud)
只需编写j,1j以便解析器知道它是一个数字,而不是一个名为j的变量,
a = 2
cmath.exp(-a*1j)
Run Code Online (Sandbox Code Playgroud)
另一种方法是让你的变量本身包含一个复数 - 像in a = 2j,另一个是使用内置complex类名来使用"a"作为你想象的部分明确地构造一个复数:
a = 2
cmath.exp(complex(0, -a))
Run Code Online (Sandbox Code Playgroud)
对于不希望在代码中找到复杂数字的人来说,最后一种形式可能更具可读性.
| 归档时间: |
|
| 查看次数: |
541 次 |
| 最近记录: |