Ich suche nach einer Methode, um Freak-Werte aus dem gegebenen Datensatz zu eliminieren. Zum Beispiel:Matlab: Beseitigung von Freak-Werten im Datensatz
Alle diese Spitzen sollten beseitigt werden. Ich habe verschiedene Filter wie medfilt
ausprobiert, aber die Spitzen sind noch dort. Ich habe auch einen Tiefpassfilter ausprobiert, aber es hat auch nicht funktioniert. Ich bin ein Anfänger im Filtern von Signalen, also habe ich es wahrscheinlich falsch gemacht.
Sie können Datensätze für die x array here und y array here herunterladen.
Ich könnte mir auch eine Schleife vorstellen, um die Werte nebeneinander zu vergleichen, aber ich bin mir sicher, dass es eine eingebaute Funktion geben muss?
Hier ist das Ergebnis mit medfilt1(input,15)
:
Die Spitzen verschwinden, aber die dann bekomme ich diese hässlichen Schritte, die ich nicht will.
Eine einfache Methode besteht darin, Ihre Daten zu vergleichen und festzustellen, wo die Wertänderung einen bestimmten Schwellenwert überschreitet. – excaza
[This] (http://i.stack.imgur.com/IdJsU.jpg) ist, was ich assoziierte, wenn ich "freak values in dataset" las. –
Haha Andras, eigentlich habe ich nur das deutsche Wort übersetzt und ich habe "freak values" = D excaza, du meinst also gerne die Daten durchforsten, nach einem bestimmten diff suchen und es eliminieren? Ich hatte diese Idee auch, aber ich dachte, dass es eine eingebaute Funktion geben könnte ... – deSteini