Hallo, ich suche nach einer Möglichkeit, in Gnuplot aus einer Datenreihe den Mittelwert aus jeweils 10 aufeinanderfolgenden Messpunkten zu berechnen und diesen Mittelwert in einem Plot darzustellen. Also angenommen ich habe 100 Zeilen (Messwerte) dann sollen daraus 10 Punkte resultieren die jeweils den Mittelwert von 10 Messungen bilden. Den Mittelwert über alle Messpunkte kann ich ja mit f(x) = mittelwert fit f(x) "datenfile" using 1:3 via mittelwert bestimmen, und dann z.B. mit plot "datenfile" using 1:mittelwert ausgeben. Ich denke, es könnte igrendwie mit "every" gehen, aber mit fehlt die passende Idee dazu. Wer kann helfen ? Markus
Das habe ich vor einiger Zeit auch mal gesucht, bin aber leider nicht fündig geworden. Ich habe dann die csv-Dateien mit awk behandelt. Ist nicht schön, aber funktioniert:
1 | awk 'BEGIN{FS=",";num=10}{sum+=$2;if(NR==1){print $1","$2}else if(NR%num==1){print $1","sum/num;sum=0}}' daten.csv |
Der Aufruf funktioniert mit einer csv-Datei, die aus zwei Spalten besteht, von denen die Werte in der zweiten Spalte gemittelt werden sollen. Es wird jede zehnte Zeile ausgegeben. Die erste Spalte der Ausgabe ist unverändert, die zweite enhält den Mittelwert der letzten 10 Messwerte.
ok, sowas wäre als Notlösung schon möglich (zumal ich gnuplot eh über perl ansteuere). Danke für den Tipp. falls jemand doch noch weiss, wie ich das direkt im Gnuplot lösen kann, wäre ich für weitere Vorschläge dankbar. Markus
Der Link hilft, auch wenn es den Autor nicht mehr hilft. http://gnuplot.sourceforge.net/demo_4.4/data_feedback.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.