Lambert W在Java中的函数实现

时间:2011-07-22 16:19:55

标签: java math numerical-analysis

我正在研究一个项目并且发现自己处于这样一种情况:我需要一个能够至少得到W(x)值Lambert W function的近似值的函数,其中x可以是任何实数。我在Java工作。我搜索时在java中找不到任何W的实现。如果需要,我愿意自己编写实现代码,但我不确定现在该怎么做。任何推动正确的方向将非常感激。

2 个答案:

答案 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中查找并实现该方法。

希望有所帮助

下面是方法维基百科的插图:

enter image description here