首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python cmath如何在指数中使用复变量?

Python cmath如何在指数中使用复变量?
EN

Stack Overflow用户
提问于 2016-11-30 20:19:51
回答 2查看 1.6K关注 0票数 0

我知道Python中的cmath用于复杂的数学运算。

代码语言:javascript
复制
import cmath
cmath.exp(-2j)

现在我想在指数中使用一个变量:

代码语言:javascript
复制
a = 2
cmath.exp(-a*j)

这将引发一个错误:

代码语言:javascript
复制
name 'j' is not defined

如何在指数中使用复变量?

EN

回答 2

Stack Overflow用户

发布于 2016-11-30 20:21:56

当在文字中使用时,j被正确地标识为创建复杂对象。除此之外,j将被假定为另一个名称,并将触发对其值的查找。

您仍然需要在文字中定义它:

代码语言:javascript
复制
a = 2j
cmath.exp(-a)
(-0.4161468365471424-0.9092974268256817j)

或者,将a馈送到complex

代码语言:javascript
复制
cmath.exp(-complex(0, a))  # or complex(imag=a)
票数 5
EN

Stack Overflow用户

发布于 2016-11-30 20:22:48

只需将j编写为1j,以便解析器知道它是一个数字,而不是名为j的变量,

代码语言:javascript
复制
a = 2
cmath.exp(-a*1j)

另一种方法是让变量本身在a = 2j中包含一个复数-like,另一种方法是使用内置的complex类名,使用"a“作为虚部,显式地构造一个复数:

代码语言:javascript
复制
a = 2
cmath.exp(complex(0, -a))

对于那些不希望在代码中找到复数的人来说,最后一个表单可能更具可读性。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40888212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档