www.gusucode.com > Matlab动力系统和时间序列分析工具箱 > Matlab动力系统和时间序列分析工具箱/lab432/toolbox/median_filter.m

    function Y=median_filter(X,ap)
% MEDIAN_FILTER provide median filtration of vector X
% window - window size (in samples). By default 5
%
% last modified 01.12.04


if nargin<2
	ap=5;
end


Y=X;
L=length(X);
if mod(ap,2)
	for i=((ap-1)/2+1):(L-(ap-1)/2)
        Y(i)=median(X((i-(ap-1)/2):(i+(ap-1)/2)));
    end
else
    for i=ap/2:(L-ap/2)
        Y(i)=median(X((1+i-ap/2):(i+ap/2)));
    end
end