开发者社区> 问答> 正文

复数的数学运算

你写的最新的网络认证方案代码遇到了一个难题,并且你唯一的解决办法就是使用复数空间。 再或者是你仅仅需要使用复数来执行一些计算操作。

展开
收起
哦哦喔 2020-04-16 20:52:43 1136 0
1 条回答
写回答
取消 提交回答
  • 复数可以用使用函数 complex(real, imag) 或者是带有后缀j的浮点数来指定。比如:
    
    >>> a = complex(2, 4)
    >>> b = 3 - 5j
    >>> a
    (2+4j)
    >>> b
    (3-5j)
    >>>
    对应的实部、虚部和共轭复数可以很容易的获取。就像下面这样:
    
    >>> a.real
    2.0
    >>> a.imag
    4.0
    >>> a.conjugate()
    (2-4j)
    >>>
    另外,所有常见的数学运算都可以工作:
    
    >>> a + b
    (5-1j)
    >>> a * b
    (26+2j)
    >>> a / b
    (-0.4117647058823529+0.6470588235294118j)
    >>> abs(a)
    4.47213595499958
    >>>
    如果要执行其他的复数函数比如正弦、余弦或平方根,使用 cmath 模块:
    
    >>> import cmath
    >>> cmath.sin(a)
    (24.83130584894638-11.356612711218174j)
    >>> cmath.cos(a)
    (-11.36423470640106-24.814651485634187j)
    >>> cmath.exp(a)
    (-4.829809383269385-5.5920560936409816j)
    >>>
    
    2020-04-16 20:52:57
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载