Moin,
da gibt es mehrere Möglichkeiten:
a) Speichere die Werte in einem Array. Immer dann, wenn du einen neuen Wert erhälst, verschiebst du die Werte im Array und fügst den neuen hinten an. Den Durschschnitt erhälts du aus der Summe aller Arraywerte geteilt durch deren Anzahl.
b) Du addierst zum alten Mittelwert den neuen Wert und dividierst die Summe durch 2. In diesen Wert geht der altuelle Messwert mit dem Faktor 1/2 ein, der vorhergehende (steckt bereits im alten Mittelwert) mit 1/4, der davor mit 1/8, etc.
Ist zwar nicht so richtig ein gleitender arithmetischer Durchschnitt, dafür aber sehr effizient. Benötigt nur eine Speichervariable, eine Addition und eine Division (Dvision durch 2 geschieht meist durch Rechtschieben, ist also auch sehr fix).
Noch ein Tipp: vermeide Fließkomma-Aritmetik. Multipliziere deine Werte mit einer Zweierpotenz, damit evtl. Kommas verschwinden.
Gruß Red Baron
Lesezeichen