X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fsecs1d-0.0.8%2FUtilities%2FUbernoulli.m;fp=octave_packages%2Fsecs1d-0.0.8%2FUtilities%2FUbernoulli.m;h=9b088696718c4162d0a66625771287edc8cbe54b;hp=0000000000000000000000000000000000000000;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/secs1d-0.0.8/Utilities/Ubernoulli.m b/octave_packages/secs1d-0.0.8/Utilities/Ubernoulli.m new file mode 100644 index 0000000..9b08869 --- /dev/null +++ b/octave_packages/secs1d-0.0.8/Utilities/Ubernoulli.m @@ -0,0 +1,49 @@ + +function b=Ubernoulli(x,sg) + +% +% b=Ubernoulli(x,sg) +% +% Bernoulli function +% b = B(x)=x/(exp(x)-1) if sg==1 +% b = B(-x)=x+B(x) if sg==0 +% also works if x is a vector + + ## This file is part of + ## + ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator + ## ------------------------------------------------------------------- + ## Copyright (C) 2004-2007 Carlo de Falco + ## + ## + ## + ## SECS1D is free software; you can redistribute it and/or modify + ## it under the terms of the GNU General Public License as published by + ## the Free Software Foundation; either version 2 of the License, or + ## (at your option) any later version. + ## + ## SECS1D is distributed in the hope that it will be useful, + ## but WITHOUT ANY WARRANTY; without even the implied warranty of + ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ## GNU General Public License for more details. + ## + ## You should have received a copy of the GNU General Public License + ## along with SECS1D; If not, see . + + for count=1:length(x) + [bp,bn] = Ubern(x(count)); + bernp(count,1)=bp; + bernn(count,1)=bn; + end + + if (sg ==1) + b=bernp; + elseif (sg ==0) + b=bernn; + end + + + % Last Revision: + % $Author: adb014 $ + % $Date: 2008-02-04 16:26:27 +0100 (man, 04 feb 2008) $ +