Mercurial > hg > ishara
diff general/numerical/lambertw.m @ 4:e44f49929e56
Adding reorganised general toolbox, now in several subdirectories.
author | samer |
---|---|
date | Sat, 12 Jan 2013 19:21:22 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/general/numerical/lambertw.m Sat Jan 12 19:21:22 2013 +0000 @@ -0,0 +1,12 @@ +function W = lambertw(x) +% lambertw - Lambert's W function +% +% lambertw :: real -> real. +% +% evaluates W(y) for -1 branch of Lambert W function where +% y = -exp(-x) +% +% The W function satisfies W(t)*exp(W(t)) = t + +if x<1, error('lambertw: argument must be >= 1'); end +W=fixpoint(@(w)(-x-log(abs(w))),-x,'its',60);