在Python中将复数值角度从弧度转换为度数?

时间:2016-10-16 16:03:55

标签: python python-2.7

使用cmath计算1.47的asin后,返回以弧度为单位测量的复杂角度;

  

cmath.asin(1.47)

     

(1.5707963267948966 + 0.9350931316301407j)

有没有办法可以将此值转换为度? math.degrees不起作用,因为它无法用复数值计算。

谢谢!

2 个答案:

答案 0 :(得分:1)

学位在复数中毫无意义。但是如果你必须使用它们,只需使用与实数相同的数学公式:

cmath.asin(1.47) * 180 / math.pi

你得到了结果

(90+53.576889894078214j)

注意实部的90度。

这种用途取决于具体情况。例如,当采用复数对数时,只有结果的虚部是角度,因此可以用度表示。实部是参数模数的对数,与角度无关。在这种情况下,仅在虚部上使用上述转换。在你的arcsine例子中,通常只有真实部分被认为是一个角度,这就是为什么你得到了真实部分的简单90但虚构部分的混乱。

让我们知道您正在做什么,我们可以帮助您确定使用学位的最佳方式。

答案 1 :(得分:0)

要使用math.degrees(),您需要首先获得复数的实部。

import cmath
import math
rad = cmath.asin( 1.47 )
math.degrees( rad.real )