rmeddis@0: function VS=UTIL_vectorStrength(PH) rmeddis@0: % UTIL_vectorStrength converts a period histogram to a vector strength measure. rmeddis@0: % ************** rmeddis@0: % using the Johnson(1980) formula. rmeddis@0: % usage: rmeddis@0: % VS=UTIL_vectorStrength(PH); rmeddis@0: % rmeddis@0: % Input arguments: rmeddis@0: % PH is channels x period histogram matrix rmeddis@0: % rmeddis@0: % Output argumkents: rmeddis@0: % VS is a column of vector strengths, one per channel rmeddis@0: [numChannels K]=size(PH); rmeddis@0: rmeddis@0: % a=cos(2*pi*(1/K:1/K:1)); rmeddis@0: % b=sin(2*pi*(1/K:1/K:1)); rmeddis@0: % VS=(sum(PH.*repmat(a,numChannels,1),2).^2 + sum(PH.*repmat(b,numChannels,1),2).^2).^0.5; rmeddis@0: % warning off MATLAB:divideByZero rmeddis@0: % VS=VS./sum(PH,2); rmeddis@0: % warning on MATLAB:divideByZeroa=cos(2*pi*(1/K:1/K:1)); rmeddis@0: rmeddis@0: rmeddis@0: a=cos(2*pi*(1/K:1/K:1)); rmeddis@0: b=sin(2*pi*(1/K:1/K:1)); rmeddis@0: N=sum(PH,2); rmeddis@0: warning off MATLAB:divideByZero rmeddis@0: VS=((sum(PH.*repmat(a,numChannels,1),2)./N).^2 ... rmeddis@0: + (sum(PH.*repmat(b,numChannels,1),2)./N).^2).^0.5; rmeddis@0: warning on MATLAB:divideByZero