Cで次の方程式を解く必要があります。
a + ln(a) = x
x の値はわかっているので、この方程式を満たす 'a' の値を見つける必要があります。この方程式を解くための効率的な方法を提案できる人はいますか? ニュートン・ラフソンか、それとももっと効率的なものでしょうか?
Cで次の方程式を解く必要があります。
a + ln(a) = x
x の値はわかっているので、この方程式を満たす 'a' の値を見つける必要があります。この方程式を解くための効率的な方法を提案できる人はいますか? ニュートン・ラフソンか、それとももっと効率的なものでしょうか?
Newton Raphson Method
うまくいくでしょうが、試してみることをお勧めしますLambert W function
。
W(x)=関数の逆関数f(x)=xex。
したがって、あなたの場合、ln(a)+ a = xとすると、各辺の指数をとると、eln(a)+ a = aea=exです。これはあなたに与えますa=W(ex)
。
これで、近似を適用してこれを解決できます。しかし、最初に、ランバート法について注意深く読むことをお勧めします。