Mittelwert aus gesampelten Daten berechnen
Verfasst: Montag 23. März 2020, 11:16
Hallo liebe Community,
ich möchte aus gemessenen Daten einen gleitenden Mittelwert mit Gewichtung berechnen.
In dem Datensatz befinden sich drei Messwerte (Zeit, Spannung und Strom). Mit einer For-Schleife möchte ich den Algrithmus ausführen.
Allerdings habe ich ein Fehler im Programm den ich einfach nicht finden kann. Hier mal mein Code (jupyther Notebook):
Mein Problem ist, dass der Algorithmus den Wert x_mittel immer wieder auf 0 setzt, was ich nicht ganz verstehe. Ich muss den Wert vor der Schleife ja mit 0 initialisieren, oder?
Darum wird hier der neue Messwert x_neu einfach durch m+1 geteilt, da x_mittel immer 0 ist. Der Verlauf des Mittelwertes ist aus diesem Grund immer falsch.
Vielleicht liegt es aber auch an meinen Daten. Die würde ich euch zur Verfügung stellen, wenn ich wüsste wie man sie hier anhängt
ich möchte aus gemessenen Daten einen gleitenden Mittelwert mit Gewichtung berechnen.
In dem Datensatz befinden sich drei Messwerte (Zeit, Spannung und Strom). Mit einer For-Schleife möchte ich den Algrithmus ausführen.
Allerdings habe ich ein Fehler im Programm den ich einfach nicht finden kann. Hier mal mein Code (jupyther Notebook):
Code: Alles auswählen
%matplotlib notebook
#%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
data2 = pd.read_csv('Test_Data.csv', sep='\,', engine='python')
#CSV lesen
m=7
x_mittel = 0
a = [data2.Ampere]
for x_neu in a:
x_mittel = ((x_mittel * m + x_neu) /(m+1))
fig = plt.figure(figsize=(10, 5))
plt.plot(x_neu,'red',label = '4000mA')
plt.plot(x_mittel,'blue',label = '4000mA, m=7')
plt.grid(True)
plt.show()
Darum wird hier der neue Messwert x_neu einfach durch m+1 geteilt, da x_mittel immer 0 ist. Der Verlauf des Mittelwertes ist aus diesem Grund immer falsch.
Vielleicht liegt es aber auch an meinen Daten. Die würde ich euch zur Verfügung stellen, wenn ich wüsste wie man sie hier anhängt
