Skip to content

Commit

Permalink
update example
Browse files Browse the repository at this point in the history
  • Loading branch information
RobTillaart committed Aug 16, 2024
1 parent 1d0db4c commit 7d31e82
Showing 1 changed file with 47 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@
RunningAverage myRA(10);
int samples = 0;


RunningAverage A(60);
RunningAverage B(60);
RunningAverage C(60);


void setup(void)
{
Serial.begin(115200);
Expand All @@ -35,32 +41,54 @@ void setup(void)
Serial.println(myRA.getCoefficientOfVariation(), 3);
}
Serial.println();
}


void loop(void)
{
long rn = random(0, 1000);
myRA.addValue(rn * 0.1);
samples++;
Serial.println();
Serial.println("Show effect of changing average and standard deviation.");
Serial.println("- A is reference");
Serial.println("- B has same stdev, distribution is 'smaller' (sharper)");
Serial.println("- C has same average, distribution is 'wider'");
Serial.println();

A.clear();
B.clear();
C.clear();

for (int i = 0; i <= 50; i++)
{
A.add((i - 25) * 1.0 + 100); // reference
B.add((i - 25) * 1.0 + 200); // change average
C.add((i - 25) * 3.0 + 100); // change stddev
}
Serial.println("\tA\tB\tC");
Serial.print("AVG\t");
Serial.print(A.getAverage(), 3);
Serial.print("\t");
Serial.print(B.getAverage(), 3);
Serial.print("\t");
Serial.println(C.getAverage(), 3);

Serial.print(samples);
Serial.print("\t Running Average: ");
Serial.print(myRA.getAverage(), 3);
Serial.print("STDEV\t");
Serial.print(A.getStandardDeviation(), 3);
Serial.print("\t");
Serial.print(B.getStandardDeviation(), 3);
Serial.print("\t");
Serial.print(myRA.getStandardDeviation(), 3);
Serial.println(C.getStandardDeviation(), 3);

Serial.print("COFVAR\t");
Serial.print(A.getCoefficientOfVariation(), 3);
Serial.print("\t");
Serial.print(myRA.getStandardDeviation() / myRA.getAverage(), 3);
Serial.print(B.getCoefficientOfVariation(), 3);
Serial.print("\t");
Serial.println(myRA.getCoefficientOfVariation(), 3);
Serial.println(C.getCoefficientOfVariation(), 3);

if (samples >= 300)
{
samples = 0;
myRA.clear();
Serial.println();
}
delay(10);

delay(10000);
}


void loop(void)
{
}


Expand Down

0 comments on commit 7d31e82

Please sign in to comment.