我想要一个可以进行以下计算并返回结果的函数。我不确定e在这个统计公式中是什么意思。我不知道如何将该公式转换为 java 代码...这就是问题...特别是 e 电源点 ....points 是一个变量,我将作为函数 arg 传入
这不是家庭作业。
正如 Corbin 所说,你可以在 Java 中找到你的常量java.lang.Math.E
为.
但是您可能想使用该Math.exp(Double d)
方法。
你的计算是:
ePoints = Math.exp(Points);
finalScore = 1000 * (ePoints/(1 + ePoints)) - 10;
您可以使用以下方法获得更好的精度,但溢出风险更高:
ePoints = Math.exp(Points);
finalScore = (1000 * ePoints)/(1 + ePoints) - 10;
e
是一个常数。它的值为2.71828...
。
参见e 数学常数
我不知道这是否是一个已知公式(也许一个科学软件包有它),但这似乎有效:
import static Math.pow
def finalScore(points) {
def e = Math.E
1000 * pow(e, points) / (1 + pow(e, points)) - 10
}
// lim when points -> 0 of finalScore(points) == 490
assert finalScore(0) == 490
// lim when points -> ∞ of finalScore(points) == 990
assert Math.abs(finalScore(50) - 990) < 0.001