-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmaxima_statistics.m
More file actions
80 lines (52 loc) · 2.1 KB
/
maxima_statistics.m
File metadata and controls
80 lines (52 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
function result = maxima_statistics(maxima_table, fs)
result = 0;
if length(maxima_table) > 0
former_max_index = 0;
index_max = 0;
for k=1:length(maxima_table)
difference = maxima_table(k) - former_max_index;
former_max_index = maxima_table(k);
index_max = index_max + 1;
difference_table(index_max) = difference;
endfor
index_even = 0;
index_odd = 0;
for k=1:length(difference_table)
if mod(k,2) == 1
if k > 1
index_odd = index_odd + 1;
table_odd(index_odd) = cast(difference_table(k),"double");
endif
else
index_even = index_even + 1;
table_even(index_even) = cast(difference_table(k),"double");
endif
endfor
st.mean_odd = mean(table_odd);
st.standard_odd =std(table_odd);
st.uncertainty_odd = 100 * st.standard_odd/st.mean_odd;
st.uncertainty_odd_time = st.standard_odd/(cast(fs,"double"));
st.mean_even = mean(table_even);
st.standard_even = std(table_even);
st.uncertainty_even = 100 * st.standard_even/st.mean_even;
st.uncertainty_even_time = st.standard_even/(cast(fs,"double"));
if length(table_odd) < 3
st.is3 = 0;
else
st.is3 = 1;
for k=1:3
table_even3(k) = table_even(k);
table_odd3(k) = table_odd(k);
endfor
st.mean_odd3 = mean(table_odd3);
st.standard_odd3 = std(table_odd3);
st.uncertainty_odd3 = 100 * st.standard_odd3/st.mean_odd3;
st.uncertainty_odd_time3 = st.standard_odd3/(cast(fs,"double"));
st.mean_even3 = mean(table_even3);
st.standard_even3 = std(table_even3);
st.uncertainty_even3 = 100 * st.standard_even3/st.mean_even3;
st.uncertainty_even_time3 = st.standard_even3/(cast(fs,"double"));
endif
result = st;
endif
endfunction