如何用Java编写这个公式?

如何用Java编写这个公式?,java,math,logarithm,Java,Math,Logarithm,我曾尝试用Java表示这个公式,但值不正确,可能我在将公式转换为代码时遇到了一些问题 private double getFactor(int y) { double factor = 10 * Math.pow(3, logOfBase(2, 10 + Math.pow(y, 3))); return factor; } public double logOfBase(int base, double num) { return Math.log(num) / Mat

我曾尝试用Java表示这个公式,但值不正确,可能我在将公式转换为代码时遇到了一些问题

private double getFactor(int y) {
    double factor = 10 * Math.pow(3, logOfBase(2, 10 + Math.pow(y, 3)));
    return factor;
}

public double logOfBase(int base, double num) {
    return Math.log(num) / Math.log(base);
}


我想你是在找以3为基数的日志,而不是以3为幂的日志。因此,公式应为

double factor = 10 * logOfBase(3, 10 + Math.pow(y, 3)));

我想你是在找以3为基数的日志,而不是以3为幂的日志。因此,公式应为

double factor = 10 * logOfBase(3, 10 + Math.pow(y, 3)));

把它分成多个部分怎么样:

double temp = (double)10 + Math.pow(0, 3); // 0 = y
double factor = 10 * Math.pow(Math.log(temp), 3); //Math.log - Returns the natural logarithm (base e) of a double value

System.out.println(String.valueOf(factor));
作品:

122.08071553760861


把它分成多个部分怎么样:

double temp = (double)10 + Math.pow(0, 3); // 0 = y
double factor = 10 * Math.pow(Math.log(temp), 3); //Math.log - Returns the natural logarithm (base e) of a double value

System.out.println(String.valueOf(factor));
作品:

122.08071553760861


为了所有y的价值,继续本温的

public double getfactor(int y){
double temp = (double)10 + Math.pow(y, 3); //
double factor = 10 * Math.pow(Math.log(temp), 3); 
return factor;
}

为了所有y的价值,继续本温的

public double getfactor(int y){
double temp = (double)10 + Math.pow(y, 3); //
double factor = 10 * Math.pow(Math.log(temp), 3); 
return factor;
}

原木的底部在底部,不是吗?这是电源3的对数10。无论哪种方式,您的代码都与数学公式不同。pow(3,…)表示幂的3,它在公式中没有出现。您试图编写的公式是什么?您预期的结果是什么?那么
y
应该等于什么才能得到这个答案呢?不确定,但这可能是相关的:日志的底部是底部,不是吗?这是电源3的对数10。无论哪种方式,您的代码都与数学公式不同。pow(3,…)表示幂的3,它在公式中没有出现。您试图编写的公式是什么?您预期的结果是什么?那么,要得到这个答案,
y
应该等于什么呢?不确定,但这可能是相关的:谢谢你的回答,我在基数3中尝试了,但结果是错误的。你期望的结果是什么?对于y=0~~122.081谢谢你的回答,我试过基数3,但结果不正确您期望的结果是什么?对于y=0~~122.081,此解决方案效果很好最终代码
double factor=10*Math.pow(Math.log(10+Math.pow(time,3)),3)不客气。也许这只是我个人的观点,但当函数变得更复杂时,我喜欢将它们分成更多的部分:)谢谢这个解决方案,最终的代码
double factor=10*Math.pow(Math.log(10+Math.pow(time,3)),3)不客气。也许这只是我个人的观点,但当函数变得更复杂时,我喜欢将它们分成更多的部分:)