Spontaneous Termination of Atrial Fibrillation: The PhysioNet/Computing in Cardiology Challenge 2004 1.0.0

% -------------------------------------------------------------------------------------------------
% meanmaxsc.m: Evaluate the mean value of of the max values of a vector on windows of nel width
%              exluding the distribution queues.
% "perci" = % of min values;  "percf" = % of max values to be excluded
%
% Copyright (C) 2004 Maurizio Varanini, Clinical Physiology Institute, CNR, Pisa, Italy
%
% 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 "as is" and "as available" in the hope that it will be useful,
% but WITHOUT ANY WARRANTY of any kind; 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, write to the Free Software Foundation, Inc.,
% 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
%
% For any comment or bug report, please send e-mail to: maurizio.varanini@ifc.cnr.it
% -------------------------------------------------------------------------------------------------

function me = meanMaxSc(v,nel,percmi,percma)
j=1;
for i=1:nel:length(v)-nel
    maxi(j)=max(v(i:i+nel-1));
    j=j+1;
end
if(percmi<0) ii=1-percmi;
else ii=1+floor(length(maxi)*percmi/100); end
if(percma<0) fi=length(maxi)+percma;
else fi=length(maxi)-floor(length(maxi)*percma/100); end
omaxi=sort(maxi);
me=mean(omaxi(ii:fi));