From: <sch...@us...> - 2011-04-29 07:36:47
|
Revision: 8237 http://octave.svn.sourceforge.net/octave/?rev=8237&view=rev Author: schloegl Date: 2011-04-29 07:36:41 +0000 (Fri, 29 Apr 2011) Log Message: ----------- add NANCUMSUM Modified Paths: -------------- trunk/octave-forge/extra/NaN/INDEX trunk/octave-forge/extra/NaN/doc/README.TXT Added Paths: ----------- trunk/octave-forge/extra/NaN/inst/nancumsum.m Modified: trunk/octave-forge/extra/NaN/INDEX =================================================================== --- trunk/octave-forge/extra/NaN/INDEX 2011-04-28 15:12:52 UTC (rev 8236) +++ trunk/octave-forge/extra/NaN/INDEX 2011-04-29 07:36:41 UTC (rev 8237) @@ -9,4 +9,4 @@ conv2nan flag_implicit_significance xcovf train_sc test_sc xval classify train_lda_sparse decovm gscatter mahal cdfplot hist2res fss cat2bin ttest ttest2 xptopen - bland_altmann + bland_altmann nancumsum Modified: trunk/octave-forge/extra/NaN/doc/README.TXT =================================================================== --- trunk/octave-forge/extra/NaN/doc/README.TXT 2011-04-28 15:12:52 UTC (rev 8236) +++ trunk/octave-forge/extra/NaN/doc/README.TXT 2011-04-29 07:36:41 UTC (rev 8237) @@ -50,6 +50,7 @@ E.g. Missing values can cause aliasing, also effects on bandpass und highpass filters need to be investigated. NANCONV convolution NANCONV2 2-dimensional convolution + NANCUMSUM Cumulative sum, skipping NaN's NANFILTER filter function NANFFT Fourier transform Added: trunk/octave-forge/extra/NaN/inst/nancumsum.m =================================================================== --- trunk/octave-forge/extra/NaN/inst/nancumsum.m (rev 0) +++ trunk/octave-forge/extra/NaN/inst/nancumsum.m 2011-04-29 07:36:41 UTC (rev 8237) @@ -0,0 +1,49 @@ +function [x] = nancumsum(x, DIM) +% NANCUMSUM Cumulative sum while skiping NaN's. +% If DIM is omitted, it defaults to the first non-singleton dimension. +% +% Y = nancumsum(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 <http://www.gnu.org/licenses/>. + +% $Id$ +% Copyright (C) 2011 by Alois Schloegl <alo...@gm...> +% 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 nargout==2, + x = cumsum(x,DIM); + x(i) = NaN; +elseif nargout==1, + x = cumsum(x); + x(i) = NaN; +else + help nancumsum +end; + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |