diff --git a/matlab/getNumberOfIntersections.m b/matlab/getNumberOfIntersections.m new file mode 100644 index 0000000..b8c5f27 --- /dev/null +++ b/matlab/getNumberOfIntersections.m @@ -0,0 +1,38 @@ + +function count = getNumberOfIntersections(signal, timestamps, value) + + is_smaller_value = false; + is_bigger_value = false; + window_poi = []; + window_ts = []; + p_idx = 1; + for j = 1:length(signal) + %is measurement smaller? + if(signal(j) < value) + %was the last measurement bigger and the current smaller? + if(is_bigger_value == true) + window_poi(p_idx) = signal(j); + window_ts(p_idx) = interp1(signal(j-1 : j),timestamps(j-1 : j),value); + p_idx = p_idx + 1; + end + + is_smaller_value = true; + is_bigger_value = false; + else + %was the last measurement smaller and the current bigger? + if(is_smaller_value == true) + window_poi(p_idx) = signal(j); + window_ts(p_idx) = interp1(signal(j-1 : j),timestamps(j-1 : j),value); + p_idx = p_idx + 1; + end + + is_smaller_value = false; + is_bigger_value = true; + end + end + + count = length(window_poi); +end + + + \ No newline at end of file