我正在做一个项目,发现自己需要一个函数来至少获得 W(x) 的值的近似值,即Lambert W 函数,其中 x 可以是任何实数。我在 Java 中工作。当我搜索时,我在 java 中找不到 W 的任何实现。如果需要,我愿意自己编写实现代码,但我不确定现在将如何完成。任何朝着正确方向的推动都将不胜感激。
问问题
3090 次
2 回答
6
看看这个页面: http: //mathworld.wolfram.com/LambertW-Function.html
它列出了函数的近似值z>3
和级数展开。
您还可以使用牛顿法和哈雷法来近似函数:http ://en.wikipedia.org/wiki/Lambert_W_function#Numerical_evaluation
于 2011-07-22T16:31:48.137 回答
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 中查找和实现该方法。
希望能帮助到你
下面是该方法的维基百科插图:
于 2011-07-22T16:34:47.587 回答