我正在研究一个项目并且发现自己处于这样一种情况:我需要一个能够至少得到W(x)值Lambert W function的近似值的函数,其中x可以是任何实数。我在Java工作。我搜索时在java中找不到任何W的实现。如果需要,我愿意自己编写实现代码,但我不确定现在该怎么做。任何推动正确的方向将非常感激。
答案 0 :(得分:6)
请看这个页面:http://mathworld.wolfram.com/LambertW-Function.html
它列出了z>3
的近似值以及函数的一系列扩展。
您还可以使用Newton方法和Halley方法来近似函数:http://en.wikipedia.org/wiki/Lambert_W_function#Numerical_evaluation
答案 1 :(得分:3)
朗伯函数是它验证的g(w) = w*exp(w)
的倒数函数:
W(z)eW(z) = z.
评估给定z上的W(z)的好方法是使用newton raphson方法:
解决:f(Y)= Yexp(Y) - z = 0.
你会发现Y = W(z)
方法
您必须自己在java中查找并实现该方法。
希望有所帮助
下面是方法维基百科的插图: