Hyp*_*eus 2 python complex-numbers python-3.x
math.exp() 不适合复杂的数字:
>>> math.exp (math.pi*1j)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't convert complex to float
Run Code Online (Sandbox Code Playgroud)
这不会对我造成太大伤害,因为它**按预期工作:
>>> math.e ** (math.pi*1j)
(-1+1.2246467991473532e-16j)
Run Code Online (Sandbox Code Playgroud)
现在的问题是对数.math.log不适用于负数:
>>> math.log(-1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
Run Code Online (Sandbox Code Playgroud)
(预期结果:(0+3.141592653589793j))
如何计算结果复杂的python中的对数? (最好不要自己实施)
数学文档明确表示它不支持复数.如果你想在python中使用一个库,你应该使用cmath代替.
Cmath代表复杂数学.
cmath具有与math相同的大部分接口,因此对于您的示例,您可以执行以下操作:
import cmath
cmath.log(-1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
592 次 |
| 最近记录: |