]> Creatis software - CreaPhase.git/blobdiff - octave_packages/nan-2.5.5/nansum.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / nan-2.5.5 / nansum.m
diff --git a/octave_packages/nan-2.5.5/nansum.m b/octave_packages/nan-2.5.5/nansum.m
new file mode 100644 (file)
index 0000000..58ef171
--- /dev/null
@@ -0,0 +1,43 @@
+function [o] = nansum(i,DIM)
+% NANSUM same as SUM but ignores NaN's. 
+% NANSUM is OBSOLETE; use SUMSKIPNAN instead. NANSUM is included 
+%    to fix a bug in some other versions. 
+%
+% Y = nansum(x [,DIM])
+% 
+% DIM  dimension
+%      1 sum of columns
+%      2 sum of rows
+%      default or []: first DIMENSION with more than 1 element
+% Y    resulting sum
+%
+% 
+% see also: SUM, SUMSKIPNAN, NANSUM 
+
+%      $Id: nansum.m 9033 2011-11-08 20:58:07Z schloegl $
+%      Copyright (C) 2000-2003,2008 by Alois Schloegl <alois.schloegl@gmail.com>       
+%      This is part of the NaN-toolbox. For more details see
+%       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 3 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 <http://www.gnu.org/licenses/>.
+
+
+if nargin>1
+        o = sumskipnan(i,DIM);
+else
+        o = sumskipnan(i);
+end;
+
+%!assert(nansum(NaN),0)
+