www.gusucode.com > Ogive_optimization_1.0.6 > Ogive_Haaranalysis.m

    function [err_haar,runok,txtlog]=Ogive_Haaranalysis(fname,txtlog,x,id)

% setup
lims=[3 2];
level=1;
haar_sc=6;
err_haar=zeros(1,size(x,2));
runok=1;
SCRIPT_LEVEL=4;


%loop
try
    for ik=1:size(x,2)
        [c,l] = wavedec(x(:,ik),level,'haar');
        d1 = detcoef(c,l,level);
        haar=abs(interpft(d1,2*length(d1)));
        std_x=(std(haar))*haar_sc;
        r_x4=(diff([min(haar) max(haar)])/4)*haar_sc;
        haar_norm=haar./min(std_x,r_x4);
        if any(haar_norm>=lims(1))
            err_haar(ik)=2;
        elseif any(haar_norm>=lims(2))
            err_haar(ik)=1;
        end
    end
catch me
    txtlog=errordisp(SCRIPT_LEVEL,fname,txtlog,me,id);
    runok=0;
end

end