messfehler aus messreihe filtern

Zuviel Werbung?
-> Hier kostenlos registrieren
Anhang anzeigen 17929
Ich habe das Ganze mal mit dem von mir beschriebenen Verfahren, allerdings mit einer weit höheren Glättung (4 Werte vorher,4 Werte nachher) bearbeitet.
Die erste Wertespalte sind die Originalwerte, die 2.Spalte die Glättung und die 3.Spalte die Absolut-Differenz.
Kannst du damit etwas anfangen ?

Auf jeden Fall wäre es aber schon gut, ein paar mehr Werte für den Vollkreis zu haben ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Senator,
suche einmal unter Ausreißertest. Mit diesem statistischen Verfahren kannst Du aus einer Messreihe Ausreißer mit einer statistischen Sicherheit herausfiltern. Ich habe dies schon einmal in einer Allen-Bradley SPS realisiert und die Ergebnisse waren nicht so schlecht.

Gruß Frank
 
Hallo,
da das nur testweise war ist der Code natürlich ein bißchen "quick-and-dirty" - ich denke dennoch, dass du etwas daraus ersehen kannst und ihn wahrscheinlich auch verstehst ...
Code:
Sub Mittelwert_1()
a = 2
e = 43
gl = 4
For i = a To e
   wert = 0: anz = 0
   For j = (i - gl) To (i + gl)
      If (j >= a) And (j <= e) Then
        wert = wert + Cells(j, 1)
        anz = anz + 1
      End If
   Next
   Cells(i, 2) = wert / anz
Next

'Differenz-Kurve bilden
For i = a To e
   Cells(i, 3) = Abs(Cells(i, 1) - Cells(i, 2))
Next
End Sub
Gruß
Larry
 
ist ja lustig, genau so eine funktion hab ich seit vorgestern schon drin.
mit 2 davor + danach; statt 4

und am ende statt
Cells(i, 3) = Abs(Cells(i, 1) - Cells(i, 2))
habe ich
Cells(i, 3) = Cells(i, 1) wenn der abstand passt; sonst Cells(i, 2)

mals sehn wass besser funktioniert.

ich berichte vom ergebnis.
habe jetzt auch wieder mehr werte in der tabelle, ca. 80.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe nun die folgende Lösung implementiert und das hat den besten Erfolg.
Mit Ausgabe der Werte in einem VB-Programm stellte sich heraus,
daß der Lasersensor den größten "Fehler" hatte.
Jetzt ist ein anderer Sensor eingebaut.

danke für die Unterstützung.

Hallo,
da das nur testweise war ist der Code natürlich ein bißchen "quick-and-dirty" - ich denke dennoch, dass du etwas daraus ersehen kannst und ihn wahrscheinlich auch verstehst ...
Code:
Sub Mittelwert_1()
a = 2
e = 43
gl = 4
For i = a To e
   wert = 0: anz = 0
   For j = (i - gl) To (i + gl)
      If (j >= a) And (j <= e) Then
        wert = wert + Cells(j, 1)
        anz = anz + 1
      End If
   Next
   Cells(i, 2) = wert / anz
Next

'Differenz-Kurve bilden
For i = a To e
   Cells(i, 3) = Abs(Cells(i, 1) - Cells(i, 2))
Next
End Sub
Gruß
Larry
 
Zurück
Oben