Javascript三角函数相关表达式给出了意想不到的结果

时间:2014-03-07 05:49:20

标签: javascript math trigonometry

我有这个表达:

(0.8733 * (Math.atan((0.375 ^ 1.75) * -2.1855))) + 1)

我期望的结果是0.673183。当我将方程复制+粘贴到那里时,Wolfram alpha正确使用(用arctan替换Math.atan)

(0.8733 * (arctan((0.375 ^ 1.75) * -2.1855))) + 1)

但是Javascript给了我这个结果:

0.002977558258926538

自数学课以来已经有一段时间了,但我相信有不同的表达结果的方式,所以也许我得到一个不用Javascript,当我期待另一个?或者其他可能是错误的,但我不知道如何调试它。

为了获得预期的结果,我需要做些什么?最后,我想用变量替换这些数字中的两个(0.375和1.75)来获得this graph这一行的结果,但是由于这个意外的结果,我的表​​达式并没有模仿图形。

1 个答案:

答案 0 :(得分:2)

您在Javascript中使用^ - 运算符,这不是幂(Math.pow),而是二进制XOR - 运算符。我认为这不是你想要的。尝试

(0.8733 * (Math.atan(Math.pow(0.375, 1.75) * -2.1855))) + 1)