Python3 - 复数的数学运算

问题

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

解决方案

复数可以用使用函数 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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容