为什么sin函数在编程语言中会像计算器一样返回奇怪的sin值

时间:2017-08-20 08:00:04

标签: java trigonometry

我在计算器中得到熟悉的罪恶值

enter image description here

当我在java程序或Google.i中计算它时会得到如下的奇怪值

enter image description here

请有人让我知道它是如何工作的,如果我想在我的java程序中使用计算器sin函数怎么办?

5 个答案:

答案 0 :(得分:3)

你得到不同结果的原因是计算器给你27.5 的罪,而谷歌给你的是27.5 弧度的罪(其中相当于1576度)。

要获得相同的结果,您必须将计算器从DEG模式更改为RAD模式,或者说服Google以某种方式在学位上工作。

对于您的Java程序,这是我们在此站点上实际关注的内容,Java的内置Math.sinMath.cos以弧度工作。如果你不想使用度数,你必须将它们转换为弧度形式。为此,您可以使用Math.toRadians

Math.cos(Math.toRadians(27.5))

或者,您可以使用实际数学:

Math.sin(27.5 * Math.PI / 180);

答案 1 :(得分:1)

在你的计算器中,27.5度为度。 但对于谷歌的计算器,它的弧度为27.5。 这就是为什么他们有不同的答案。

1弧度约等于57.2958度。

2π弧度等于360度。

答案 2 :(得分:0)

你正在使用两个不同的单位。一方面你有学位,在另一方面。

由于您有不同的输入,因此得到不同的结果是正常的。

答案 3 :(得分:0)

根据docs sin所采用的参数

  

一个角度,以弧度为单位。

您的计算器使用度数。

要将度数转换为弧度,您需要乘以π并除以180.例如:

double radians = 27.5 * Math.PI / 180;
Math.sin(radians);

答案 4 :(得分:0)

似乎计算器输入预计为度,谷歌预计为弧度。

Radians是衡量角度的另一个单位。

https://en.wikipedia.org/wiki/Radian

enter image description here

您还可以使用Google转换: https://www.google.co.il/search?q=degrees+to+radians&oq=degrees+to+&aqs=chrome.2.69i57j69i60j0l4.7543j0j4&sourceid=chrome&ie=UTF-8