gpt4 book ai didi

python - **(1/2)、math.sqrt 和 cmath.sqrt 之间的区别?

转载 作者:太空狗 更新时间:2023-10-29 21:25:50 28 4
gpt4 key购买 nike

x**(1/2)math.sqrt()cmath.sqrt() 有什么区别?

为什么 cmath.sqrt() 单独得到二次项的复根?我应该专门将它用于我的平方根吗?他们在后台做了什么不同的事情?

最佳答案

如果您分别查看 cmath 和 math 的文档,您会发现:

  1. cmath “提供对复数数学函数的访问”
  2. math “函数不能用于复数;如果您需要复数支持,请使用 cmath 模块中的同名函数。”
  3. (**) 运算符 mapspow 函数,重要的区别是 pow 将其参数转换为 float。

因此,对于相同的参数,您可能会看到三个函数的不同结果,如 here 所示.请注意,如果表达式有实数解,则 math.sqrt 返回的值与 cmath.sqrt 返回值的实部没有区别.但是,如果没有可用的实际解决方案,您将收到 math.sqrt 错误。

编辑:正如@jermenkoo 指出的那样,由于 / (**) 返回的值会有所不同 运算符有效。但是,如果您直接使用 0.5 而不是 1/2,那应该不会造成问题。

关于python - **(1/2)、math.sqrt 和 cmath.sqrt 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33684948/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com