首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不寻常的数学结果不正确?

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

Stack Overflow用户
提问于 2012-01-01 12:10:43
回答 3查看 2.3K关注 0票数 2

当我使用math.cos()和math.sin()函数时,我的python解释器表现得很奇怪。例如,如果我在我的计算器上这样做:

代码语言:javascript
代码运行次数:0
运行
复制
cos(35)*15+9 = 21.28728066
sin(35)*15+9 = 17.60364655

但是当我在python ( 3.2和2.7)上这样做的时候

代码语言:javascript
代码运行次数:0
运行
复制
>>> import math
>>> math.cos(35)*15+9
-4.5553830763726015

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

这一切为什么要发生?

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-01 12:13:50

这是因为您使用的是度

三角函数期望弧度作为输入:

sin(radians)

sin的描述为:

代码语言:javascript
代码运行次数:0
运行
复制
sin(x)
    Return the sine of x (measured in radians).

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

因此,如果您对您的输入执行此操作:

代码语言:javascript
代码运行次数:0
运行
复制
>>> math.sin(math.radians(35)) * 15 + 9
17.60364654526569

它给出的结果和你的计算器一样。

票数 9
EN

Stack Overflow用户

发布于 2012-01-01 12:52:42

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

代码语言:javascript
代码运行次数:0
运行
复制
math.degrees
math.radians

使用您的示例:

代码语言:javascript
代码运行次数:0
运行
复制
>>> from math import cos, sin, radians
>>> sin(radians(35)) * 15 + 9
17.60364654526569
>>> cos(radians(35)) * 15 + 9
21.28728066433488

奇怪的计算器。采用度数,但返回弧度。

票数 1
EN

Stack Overflow用户

发布于 2012-01-01 12:17:37

代码语言:javascript
代码运行次数:0
运行
复制
cos(35)[degree] = 0.819 * 15 + 9 = 21.285  <-- Your calculator

sin(35)[radian] = -0.428 * 15 + 9 = 2.577  <-- Python
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8691800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档