view general/numerical/lambertw.m @ 6:0ce3c2070089

Removed duplicate code and fixed doc in timed_action.
author samer
date Mon, 14 Jan 2013 14:33:37 +0000
parents e44f49929e56
children
line wrap: on
line source
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);