当尝试在我的编程语言中使用三角函数时,我得到了一个看似非常错误的结果。
例如,
sin(90) = 0.8939966636005579
但我希望
sin(90)
是 1
。
发生了什么事,我能做些什么来解决这个问题?
相关问题:
三角函数的单位通常为 弧度,而
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
某些编程语言的标准库就是这种情况,例如Rust、Java、Python、MATLAB等。
从度数转换为弧度后,您可以调用三角函数并获得您期望的答案。