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