代码之家  ›  专栏  ›  技术社区  ›  PokeJoe

Javascript三角相关表达式给了我一个意外的结果

  •  0
  • PokeJoe  · 技术社区  · 12 年前

    我有这样的表达:

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

    我期望的结果是 0.673183 Wolfram alpha在我将公式复制并粘贴到其中时(将Math.atan替换为arctan)

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

    但Javascript给了我这样的结果:

    0.002977558258926538
    

    数学课已经上了一段时间了,但我相信有不同的方法来表达结果,所以也许我在期待另一种方法的时候,从Javascript中得到了一种?或者可能有其他问题,但我不确定如何调试。

    我需要采取哪些不同的措施才能获得预期的结果?最后,我想用变量替换其中两个数字(0.375和1.75),以获得如下结果 this graph 但由于这个意外的结果,我的表情没有模仿图表。

    1 回复  |  直到 12 年前
        1
  •  2
  •   urzeit    12 年前

    您使用 ^ -Javascript中的运算符,这不是权力(这是 Math.pow )但是二进制文件 XOR -操作员。我想这不是你想要的。尝试

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