annotate utilities/UTIL_vectorStrength.m @ 6:ec0dd749986c
Making a start on the documentation
author |
Ray Meddis <rmeddis@essex.ac.uk> |
date |
Fri, 27 May 2011 14:12:18 +0100 |
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
|