equation - python 中的 sin 方程不断返回错误的答案

标签 equation trigonometry

我想我有一个有问题的 python 版本,因为我得到了错误的结果。如果您直接在 google 中输入:sin(degrees(39))*41/28,您将得到值 0.92150485832。这是给定等式的正确值。

但是,当我尝试在 python 中执行此操作时,我得到了值 -1.11258224646。

我使用的代码:

number= float(sin(degrees(39))*41/28)
print number

我还尝试了以下代码(删除了 39 周围的度数),它返回值 1.41127181563。

number= float(sin(39)*41/28)
print number

为了好玩,我也尝试了这样的代码:

number= float(sin(radians(39))*41/28)
print number

此代码返回答案 0.921504858323,这将是第一个等式的正确答案

这不应该是可能的,因为 39 的弧度是 0.680678408。在等式中使用该数字:(sin(0.680678408)*41)/28 我们得到 0.017395421,而不是 0.921504858323。

谁能解释一下这是怎么回事。我在这里迷路了。

最佳答案

解释是google和python对“degrees”和“radians”的解释不同。

  1. 在 python 中,这两个函数用于将一个单位转换为另一个单位:

    • math.degrees(x) - 将角度 x 从弧度转换为度数。
    • math.radians(x) - 将角度 x 从度数转换为弧度。

为了评估“float(sin(radians(39))*41/28)”语句,python 将 39 度角转换为弧度 (0.680678),然后计算 sin(x),它返回 x 弧度的正弦值,因此我们将得到sin(39度)*41/28.

  1. Google 使用 2 个词来说明单位而不是转换。 评估“sin(degrees(39))*41/28”谷歌将其理解为“sin(39 degree)*41/28”,因此它不会在弧度和度之间转换单位。就是计算39度的正弦。

关于equation - python 中的 sin 方程不断返回错误的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36870697/

相关文章:

c# - 战斗的数学方程式

javascript - 使物体沿直线以恒定速度从 A 点移动到 B 点

python - 在 python 中计算复杂的数学方程式

r - 使用 `optimize` 求解 R 方程中的 X

python - 在gekko中求解方程

python - 最大方程长度

iOS : Inverse Cosine

python - Python中的反余弦

matlab - 复向量的成对角度计算

c++ - 为什么我不能使用 _mm_sin_pd?