数学:我们什么时候使用对数,它是如何工作的?

问题描述:

我被解决:数学:我们什么时候使用对数,它是如何工作的?

我们知道蒸发器(在毫升含量)的含量,泡沫或气体的比例失去了每天(evap_per_day)和阈值(阈值)的百分比超过该蒸发器不再有用。所有数字都是严格正面的。该程序报告蒸发器将被停用的第n天(作为整数)。

我用递归解决方案:

if (content > (initialContent/100) * threshold) { 
    double postContent = content - (content/100) * evap_per_day; 
    iterations++; 
    return recursiveEvaporator(postContent, evap_per_day, threshold, initialContent, iterations); 
} 

但后来我发现更复杂的解决方案: return (int)Math.ceil(Math.log(threshold/100.0)/Math.log(1.0 - evap_per_day/100.0)); 能否请你解释我是如何做对数这里工作,为什么我们选择自然对数?

+2

我投票作为题外话,因为它属于上math.stackexchange.com,或关闭该问题档次9. – EJP

+1

@EJP这些天来,12年级,和只为即将到来的科学专业... – chrylis

+0

感谢评论家,尽管offtopic有人提供了一个强有力的答案。这就是为什么我喜欢*。 –

  • 首先,你必须获得一个清晰的图像e,这是自然对数的基础。 e - 是恒定的,代表的(1 + 1/n)^n,我们称之为谈论不断增长时逼近
    constant growth

    我们看到,新出现的“加法”参加进一步exponentiation.Roughly说:E 1 X是我们的收入在x之后,其中x是t * r(t-时间; r-rate)

    • ln(y)是一个逆向操作, 。

带回你的问题的主题 ln(threshold) - 是T * R(一次*率) ln(1 - evap_per_day) - 在* R至evoparate 90%,但不初始,我们再次需要! ln因为90%是不断下降,我们应该考虑到它。 我们用ln(1 - evap_per_day)来划分ln(threshold)的乘积以得知时间。

所以正确的方法是:(int)Math.ceil(Math.log(threshold/100.0)/(ln(1.0 - evap_per_day/100.0))

+0

我确实使用过本教程来研究它http://betterexplained.com/articles/demystifying-the-natural-logarithm-ln/ –