X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fnan-2.5.5%2Fcumsumskipnan.m;fp=octave_packages%2Fnan-2.5.5%2Fcumsumskipnan.m;h=1e22173d712355b40cccfad74fc465de0cebe88f;hp=0000000000000000000000000000000000000000;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/nan-2.5.5/cumsumskipnan.m b/octave_packages/nan-2.5.5/cumsumskipnan.m new file mode 100644 index 0000000..1e22173 --- /dev/null +++ b/octave_packages/nan-2.5.5/cumsumskipnan.m @@ -0,0 +1,49 @@ +function [x] = cumsumskipnan(x, DIM) +% CUMSUMSKIPNAN Cumulative sum while skiping NaN's. +% If DIM is omitted, it defaults to the first non-singleton dimension. +% +% Y = cumsumskipnan(x [,DIM]) +% +% x input data +% DIM dimension (default: []) +% y resulting sum +% +% see also: CUMSUM, SUMSKIPNAN + + +% 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 . + +% $Id$ +% Copyright (C) 2011 by Alois Schloegl +% This function is part of the NaN-toolbox +% http://pub.ist.ac.at/~schloegl/matlab/NaN/ + + +%%% TODO: implement as mex-function + +i = isnan(x); +x(i) = 0; + +if nargin==2, + x = cumsum(x,DIM); + x(i) = NaN; +elseif nargin==1, + x = cumsum(x); + x(i) = NaN; +else + help cumsumskipnan +end; + + +