![]() |
Mittelwert über Zeit
Hallo zusammen.
Ich habe da eine Frage an die Mathematiker (Titel ist vielleicht nicht ganz glücklich gewählt). Ich möchte in regelmäßigen Abständen Messungen von Werten vornehmen und in einer kleinen Statistik u.a. einen Mittelwert der Messergebnisse (handelt sich um Temperaturwerte) anzeigen. Da das ganze Programm sehr lange unbeaufsichtigt laufen soll, möchte ich möglichst wenig Speicher verbraten und daher nicht alle Werte als Array in den Speicher ziehen und da den Mittelwert errchnen. Meine Frage: Kann man nicht einfach aus dem zuletzt errechneten Mittelwert und dem neu hinzuzufügenden Wert den neuen Mittelwert errechnen, ohne alle Werte kennen zu müssen? Danke und Grüße Thomas |
Re: Mittelwert über Zeit
Hallo,
Dazu gibt es verschiedene Varianten. Was du brauchst ist ein digitaler Filter. Willst du wirklich den Mittelwert ab Start, geht sowas wie
Delphi-Quellcode:
oder als reiner Tiefpassfilter
midTempSum := midTempSum +aktTemp;
inc(anzahlMessungen); midTemp := midTempSum / anzahlMessungen;
Delphi-Quellcode:
wobei gilt :
midTemp := midTemp*coffFilter + (1-coffFilter)*aktTemp;
Delphi-Quellcode:
umso größer coffFilter, umso langsamer ändert sich die mittlere Temperatur;
0 < coffFilter < 1
ansonsten mal ![]() MfG Kolbaschedder |
Re: Mittelwert über Zeit
Das erste trifft es schon ziemlich, was ich suche. Vielen dank
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz