在java中转换对数方程[重复]
Posted
技术标签:
【中文标题】在java中转换对数方程[重复]【英文标题】:Convert log equation in java [duplicate] 【发布时间】:2017-04-27 00:14:42 【问题描述】:我有这个等式,但我无法将其转换为 java 代码。主要问题是“^”运算符。我不知道如何发挥表达的力量。
这是等式:
非常快速的澄清,它的 log(5) +1 在开头。
希望有人能提供帮助。
这是我写的方程式的第一部分:
double equationPart1 = (((-0.5*Math.log(5)) +1)/2);
double equationPart2 = 0;//the last part
double equationPart3 = ((level * Math.log(5)) - (0.5 * Math.log(5)) + equationPart2);
【问题讨论】:
有没有想过使用数学库中的pow
?
哦,pow 可以接受表达式吗?
【参考方案1】:
拇指规则:尽量让你的方程式尽可能易读。
double A = -0.5 * Math.log10(5) + 1;
double B = level * Math.log10(5);
double C = 0.5 * Math.log10(5);
double D = 0.5 * Math.log10(5) - 1;
double E = Math.pow(D/2, 2);
double club = (A/2) + (B - C + E); // OR double club = (A/2) - (B - C + E);
double result = Math.pow(10.0, club);
【讨论】:
快速提问,Math.log 和 Math.log10 有什么区别? 快速回答 - javadocs 有什么用? 大声笑...Math.log
:返回双精度值的自然对数(以 e 为底)。而后一个是 10 进制的
好吧,我将其投票为 0。是的,听起来不错。会接受的
为什么要停在方程式上?所有代码都应该尽可能地可读。不过答案很好。以上是关于在java中转换对数方程[重复]的主要内容,如果未能解决你的问题,请参考以下文章