Mercurial > hg > map
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 |