我尝试将数学函数导入Javascript。 它是以下公式: http://www.wolframalpha.com/input/?i=-0.000004x%5E2%2B0.004x
示例值:
f(0)= 0
f(500)= 1
f(1000)= 0
这就是我的功能:
function jumpCalc(x) {
return (-0.004*(x^2)+4*x)/1000;
}
The values are completely wrong.
我的错误在哪里?感谢。
答案 0 :(得分:7)
^
并没有按照您的想法行事。在JavaScript中,^
是Bitwise XOR运算符。
^
(按位异或)对每对位执行XOR运算。如果a和b不同,则XOR b产生1。
- MDN's Bitwise XOR documentation
相反,您需要使用JavaScript内置的Math.pow()
函数:
Math.pow()
Math.pow()
函数将基数返回到指数幂,即base exponent 。
- MDN's Math.pow() Documentation
return (-0.004*(Math.pow(x, 2))+4*x)/1000;
答案 1 :(得分:2)
像这样使用Math.pow
function jumpCalc(x) {
return (-0.004*(Math.pow(x,2))+4*x)/1000;
}
答案 2 :(得分:0)
您可以将此公式进一步缩小为
function getThatFunc(x){
return x * (-0.004 * x + 4) / 1000;
}