annotate utilities/UTIL_vectorStrength.m @ 38:c2204b18f4a2 tip

End nov big change
author Ray Meddis <rmeddis@essex.ac.uk>
date Mon, 28 Nov 2011 13:34:28 +0000
parents f233164f4c86
children
rev   line source
rmeddis@0 1 function VS=UTIL_vectorStrength(PH)
rmeddis@0 2 % UTIL_vectorStrength converts a period histogram to a vector strength measure.
rmeddis@0 3 % **************
rmeddis@0 4 % using the Johnson(1980) formula.
rmeddis@0 5 % usage:
rmeddis@0 6 % VS=UTIL_vectorStrength(PH);
rmeddis@0 7 %
rmeddis@0 8 % Input arguments:
rmeddis@0 9 % PH is channels x period histogram matrix
rmeddis@0 10 %
rmeddis@0 11 % Output argumkents:
rmeddis@0 12 % VS is a column of vector strengths, one per channel
rmeddis@0 13 [numChannels K]=size(PH);
rmeddis@0 14
rmeddis@0 15 % a=cos(2*pi*(1/K:1/K:1));
rmeddis@0 16 % b=sin(2*pi*(1/K:1/K:1));
rmeddis@0 17 % VS=(sum(PH.*repmat(a,numChannels,1),2).^2 + sum(PH.*repmat(b,numChannels,1),2).^2).^0.5;
rmeddis@0 18 % warning off MATLAB:divideByZero
rmeddis@0 19 % VS=VS./sum(PH,2);
rmeddis@0 20 % warning on MATLAB:divideByZeroa=cos(2*pi*(1/K:1/K:1));
rmeddis@0 21
rmeddis@0 22
rmeddis@0 23 a=cos(2*pi*(1/K:1/K:1));
rmeddis@0 24 b=sin(2*pi*(1/K:1/K:1));
rmeddis@0 25 N=sum(PH,2);
rmeddis@0 26 warning off MATLAB:divideByZero
rmeddis@0 27 VS=((sum(PH.*repmat(a,numChannels,1),2)./N).^2 ...
rmeddis@0 28 + (sum(PH.*repmat(b,numChannels,1),2)./N).^2).^0.5;
rmeddis@0 29 warning on MATLAB:divideByZero