Python3 - 复数的数学运算

2018-12-20  本文已影响41人  惑也

问题

使用复数空间,或者是需要使用复数来执行一些计算操作。

解决方案

复数可以用使用函数 complex(real, imag) 或者是带有后缀j的浮点数来指定。比如:

a = complex(2, 4)
b = 3 - 5j

print(a)
print(b)

(2+4j)
(3-5j)

对应的实部、虚部和共轭复数可以很容易的获取。就像下面这样:

print(a.real)
print(a.imag)
print(a.conjugate())

2.0
4.0
(2-4j)

另外,所有常见的数学运算都可以工作:

print(a + b)
print(a * b)
print(a - b)
print(abs(a))

(5-1j)
(26+2j)
(-1+9j)
4.47213595499958

如果要执行其他的运算比如正弦、余弦或平方根,使用 cmath 模块:

import cmath

print(cmath.sin(a))
print(cmath.cos(a))
print(cmath.exp(a))

(24.83130584894638-11.356612711218174j)
(-11.36423470640106-24.814651485634187j)
(-4.829809383269385-5.5920560936409816j)

讨论

Python中大部分与数学相关的模块都能处理复数。如果需要生成一个复数返回结果,必须显示的使用 cmath 模块,或者在某个支持复数的库中声明复数类型的使用。比如:

import cmath
print(cmath.sqrt(-1))
1j
上一篇下一篇

猜你喜欢

热点阅读