Está en la página 1de 1

%Omar Muñoz Urias

%esta funcion aplica el algoritmo de filtro mean/median


%Primer parametro= conjunto de información
%Segundo parametro= Ventana para el filtro.
%Tercer parametro= Aplicar la media=1 o la mediana=2
function[newData]=smooth2(data,window,option)
data=data;
w=window;
option=option;
dataLength=length(data);
for i=1:1:dataLength
i;
rangoInferior=ceil(abs(i-(w/2)));
rangoSuperior=abs(floor(i+(w/2)));
if(rangoSuperior-rangoInferior~=w-1 & rem(w,2)==1||rangoInferior==0)
rangoInferior=1;
end

if(rangoSuperior-rangoInferior~=w & rem(w,2)==0||rangoInferior==0)


rangoInferior=1;
end

if(rangoSuperior>dataLength)
rangoSuperior=dataLength;
end
switch(option)
case 1
y(i)=mean(data(rangoInferior:1:rangoSuperior));
case 2
y(i)=median(data(rangoInferior:1:rangoSuperior));
end
end
newData=y;
end

También podría gustarte