美文网首页
Python3 - 复数的数学运算

Python3 - 复数的数学运算

作者: 惑也 | 来源:发表于2018-12-20 10:26 被阅读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
    

    相关文章

      网友评论

          本文标题:Python3 - 复数的数学运算

          本文链接:https://www.haomeiwen.com/subject/dsiekqtx.html