![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Where we will test the side ToF sensors
Dependencies: QEI2 PID Watchdog VL53L1X_Filter ros_lib_kinetic
Diff: wheelchairControlSideTof/Statistics/statistics.cpp
- Revision:
- 18:a10277a63b53
diff -r 770a161346ed -r a10277a63b53 wheelchairControlSideTof/Statistics/statistics.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wheelchairControlSideTof/Statistics/statistics.cpp Tue Jul 02 17:27:51 2019 +0000 @@ -0,0 +1,54 @@ + +#include "statistics.h" +#include "mbed.h" + + /************************************************************************** + * This function initializes the private members of the class Statistics * + **************************************************************************/ + statistics::statistics(int* Input, double dataLengthIn, int firstDataPointIn){ + data = Input; + dataLength = dataLengthIn; + firstDataPoint = firstDataPointIn; + } + + /************************************************************************** + * This function returns the mean(average) of an array. * + **************************************************************************/ + double statistics::mean(){ + double sum; + for(int i = firstDataPoint; i < (firstDataPoint + dataLength); ++i) + { + sum += data[i]; + } + //printf("sum %f, data length %f\r\n", sum, dataLength); + wait(.001); + double average = sum/dataLength; + return average; + } + + /************************************************************************** + * This function returns the standard deviation of an array. This is * + * used to determine whether the data is valid or not. * + **************************************************************************/ + double statistics::stdev(){ + double sum = 0.0, mean, standardDeviation = 0.0; + //printf("The length of the array is %d\n", dataLength); + //double num = (pow(2.0,2.0)); + //printf("2^2 is %f\n", num); + //int i; + + for(int i = firstDataPoint; i < (firstDataPoint + dataLength); ++i) + { + sum += data[i]; + //printf("%d\n", data[i]); + } + + mean = sum/dataLength; + + for(int i = firstDataPoint; i < (firstDataPoint + dataLength); ++i) { + //standardDeviation += pow(data[i] - mean, 2); + standardDeviation += (data[i] - mean)*(data[i] - mean); + } + + return sqrt(standardDeviation / dataLength); + } \ No newline at end of file