8

我正在做一个项目,发现自己需要一个函数来至少获得 W(x) 的值的近似值,即Lambert W 函数,其中 x 可以是任何实数。我在 Java 中工作。当我搜索时,我在 java 中找不到 W 的任何实现。如果需要,我愿意自己编写实现代码,但我不确定现在将如何完成。任何朝着正确方向的推动都将不胜感激。

4

2 回答 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 回答