不正常的数学结果不正确?

时间:2012-01-01 04:10:43

标签: python math trigonometry sin cos

当我使用math.cos()和math.sin()函数时,我的python解释器表现得很时髦。例如,如果我在计算器上执行此操作:

cos(35)*15+9 = 21.28728066
sin(35)*15+9 = 17.60364655

但是当我在python(3.2和2.7)上执行此操作时

>>> import math
>>> math.cos(35)*15+9
-4.5553830763726015

>>> import math
>>> math.sin(35)*15+9
2.577259957557734

为什么会这样?

编辑:为了以防万一,你如何将Python中的Radian更改为度?

3 个答案:

答案 0 :(得分:9)

这是因为您使用的是 并且三角函数期望弧度作为输入:
sin(radians)

sin的说明是:

sin(x)
    Return the sine of x (measured in radians).

在Python中,您可以使用math.radians函数将度数转换为弧度。


因此,如果您使用输入执行此操作:

>>> math.sin(math.radians(35)) * 15 + 9
17.60364654526569

它会产生与计算器相同的结果。

答案 1 :(得分:1)

以下Python方法可用于将弧度转换为度数,反之亦然:

math.degrees
math.radians

使用您的示例:

>>> from math import cos, sin, radians
>>> sin(radians(35)) * 15 + 9
17.60364654526569
>>> cos(radians(35)) * 15 + 9
21.28728066433488

奇怪的计算器...需要度数但返回弧度。

答案 2 :(得分:0)

cos(35)[degree] = 0.819 * 15 + 9 = 21.285  <-- Your calculator

sin(35)[radian] = -0.428 * 15 + 9 = 2.577  <-- Python