X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fnan-2.5.5%2Fcenter.m;fp=octave_packages%2Fnan-2.5.5%2Fcenter.m;h=8062f1ae24060f05d2b28b751c26f07fd7c7e2f1;hp=0000000000000000000000000000000000000000;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/nan-2.5.5/center.m b/octave_packages/nan-2.5.5/center.m new file mode 100644 index 0000000..8062f1a --- /dev/null +++ b/octave_packages/nan-2.5.5/center.m @@ -0,0 +1,62 @@ +function [i,S] = center(i,DIM,W) +% CENTER removes the mean +% +% [z,mu] = center(x,DIM,W) +% removes mean x along dimension DIM +% +% x input data +% DIM dimension +% 1: column +% 2: row +% default or []: first DIMENSION, with more than 1 element +% W weights to computed weighted mean (default: [], all weights = 1) +% numel(W) must be equal to size(x,DIM) +% +% features: +% - can deal with NaN's (missing values) +% - weighting of data +% - dimension argument +% - compatible to Matlab and Octave +% +% see also: SUMSKIPNAN, MEAN, STD, DETREND, ZSCORE +% +% REFERENCE(S): + +% 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 . + + +% $Id: center.m 8223 2011-04-20 09:16:06Z schloegl $ +% Copyright (C) 2000-2003,2005,2009 by Alois Schloegl +% This is part of the NaN-toolbox. For more details see +% http://pub.ist.ac.at/~schloegl/matlab/NaN/ + + +if any(size(i)==0); return; end; + +if nargin<3, + W = []; +end; +if nargin>1, + [S,N] = sumskipnan(i,DIM,W); +else + [S,N] = sumskipnan(i,[],W); +end; + +S = S./N; +szi = size(i); +szs = size(S); +if length(szs)