2

我需要在 C 中求解以下方程:

a + ln(a) = x

我知道 x 的值,我需要找到满足这个方程的 'a' 的值。任何人都可以提出一种有效的方法来解决这个方程。可能是 Newton Raphson,还是更有效的?

4

1 回答 1

2

Newton Raphson Method会很好,但我建议你试试看Lambert W function
W(x) = 函数 f(x)= xex 的逆。
因此,在您的情况下,ln(a)+ a= x,然后,取每一边的指数,eln(a)+ a= aea= ex。这给你a=W(ex)
现在,您可以应用近似值来解决这个问题。但首先,我建议您仔细阅读 Lambert 方法。

于 2012-10-11T05:55:05.520 回答