为什么三角函数给出看似不正确的结果?

问题描述 投票:0回答:1

当尝试在我的编程语言中使用三角函数时,我得到了一个看似非常错误的结果。

例如,

sin(90) = 0.8939966636005579

但我希望

sin(90)
1

发生了什么事,我能做些什么来解决这个问题?

相关问题:

弧度换算角度的方法是什么?
数学SE:为什么弧度在数学中如此常见?

language-agnostic trigonometry
1个回答
0
投票

三角函数的单位通常为 弧度,而

90
的单位为

大多数编程语言都需要三角函数以弧度形式提供参数。这简化了很多事情,特别是在实现方面,因为代码可以与 C 接口,它被标准化为期望其三角函数的参数以弧度为单位。

弧度在数学中也很常用,因为它们是角度测量的自然单位。 这个 Math.SE 问题 及其答案有更详细的介绍。

许多编程语言不提供将度数转换为弧度的工具,但实现很容易。您可以通过创建这样的函数来做到这一点:)

PI = 3.1415926535; // or your programming language's standard library's math constant

function toRadians(angle) {
  return angle * (PI / 180);
}

但是,某些编程语言可能会在其标准库中提供进行转换的工具(这应该优于您自己编写转换)。例如,在 Python 中,这是由

math.radians
函数提供的。三角函数本身通常也说明了它们期望输入的格式。

>>> import math
>>> math.sin(math.radians(90))
1.0

某些编程语言的标准库就是这种情况,例如RustJavaPythonMATLAB等。

从度数转换为弧度后,您可以调用三角函数并获得您期望的答案。

© www.soinside.com 2019 - 2024. All rights reserved.