X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fnan-2.5.5%2Fnormcdf.m;fp=octave_packages%2Fnan-2.5.5%2Fnormcdf.m;h=4c0bd4a5d3f1970650b4c3aad09fe060d734d943;hp=0000000000000000000000000000000000000000;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/nan-2.5.5/normcdf.m b/octave_packages/nan-2.5.5/normcdf.m new file mode 100644 index 0000000..4c0bd4a --- /dev/null +++ b/octave_packages/nan-2.5.5/normcdf.m @@ -0,0 +1,60 @@ +function p = normcdf(x,m,s) +% NORMCDF returns normal cumulative distribtion function +% +% cdf = normcdf(x,m,s); +% +% Computes the CDF of a the normal distribution +% with mean m and standard deviation s +% default: m=0; s=1; +% x,m,s must be matrices of same size, or any one can be a scalar. +% +% see also: NORMPDF, NORMINV + +% Reference(s): + +% $Id: normcdf.m 9033 2011-11-08 20:58:07Z schloegl $ +% Copyright (C) 2000-2003,2010,2011 by Alois Schloegl +% This function is part of the NaN-toolbox +% http://pub.ist.ac.at/~schloegl/matlab/NaN/ + +% This program 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. +% +% This program 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 this program; If not, see . + + +if nargin==1, + m=0; s=1; +elseif nargin==2, + s=1; +end; + +% allocate output memory and check size of arguments +z = (x-m)./s; % if this line causes an error, input arguments do not fit. + +p = (1 + erf(z/sqrt(2)))/2; + +z = (s==0); +p((xm) & z) = 1; + +p(isnan(x) | isnan(m) | isnan(s) | (s<0)) = nan; + +%!assert(sum(isnan(normcdf([-inf,-2,-1,-.5,0,.5,1,2,3,inf,nan]',2,0))),1) + + + + + +