我需要在C中解决以下等式:
a + ln(a) = x
我知道x的值,我需要找到满足这个等式的'a'的值。任何人都可以提出一种解决这个方程的有效方法。可能是Newton Raphson,还是更高效的?
答案 0 :(得分:2)
Newton Raphson Method
会做得很好,但我建议你试试Lambert W function
W(x)=函数f(x)= xex的倒数
所以,在你的情况下ln(a)+ a = x,然后,取每边的指数,eln(a)+ a = aea = ex。
这样就可以a=W(ex)
现在,您可以应用近似值来解决此问题。但首先,我建议你仔细阅读兰伯特方法。