Sunday 9 April 2017

Moving Average In Matlab

Erstellt am Mittwoch, den 08. Oktober 2008 um 20 04 Letzte Aktualisierung am Donnerstag, den 14. März 2013 01 29 Geschrieben von Batuhan Osmanoglu Hits 41545.Moving Average In Matlab. Often Ich finde mich in der Notwendigkeit der Mittelung der Daten, die ich habe, um das Rauschen ein wenig zu reduzieren Ich schrieb paar Funktionen, um genau das zu tun, was ich will, aber Matlab s eingebaute Filterfunktion funktioniert auch ziemlich gut Hier lyrics ich über 1D und 2D Mittelwertbildung von data.1D Filter kann mit der Filterfunktion realisiert werden Die Filterfunktion benötigt mindestens Drei Eingabeparameter der Zählerkoeffizient für den Filter b, den Nennerkoeffizienten für den Filter a und die Daten X natürlich. Ein laufender Durchschnittsfilter kann einfach durch. Für 2D Daten definiert werden, können wir die Matlab s filter2 Funktion verwenden Für weitere Informationen Auf, wie der Filter funktioniert, können Sie type. Here ist eine schnelle und schmutzige Implementierung eines 16 von 16 gleitenden durchschnittlichen Filter Zuerst müssen wir den Filter definieren Da alles, was wir wollen, gleicher Beitrag aller Nachbarn ist, können wir einfach die Funktion verwenden Teilen Sie alles mit 256 16 16 ab, da wir nicht die allgemeine Amplitude des Signals ändern wollen. Um den Filter anzuwenden, können wir einfach folgendes sagen. Below sind die Ergebnisse für die Phase eines SAR-Interferogramms In diesem Fall liegt der Bereich in der Y-Achse Und Azimut ist auf X-Achse abgebildet Der Filter war 4 Pixel breit im Bereich und 16 Pixel breit in Azimuth. Using MATLAB, wie finde ich die 3-Tage gleitenden Durchschnitt einer bestimmten Spalte einer Matrix und fügen Sie den gleitenden Durchschnitt zu dieser Matrix Ich versuche, den 3-tägigen gleitenden Durchschnitt von unten nach oben der Matrix zu berechnen, die ich meinen Code zur Verfügung gestellt habe. Angesichts der folgenden Matrix a und Maske. Ich habe versucht, den Conv-Befehl zu implementieren, aber ich empfange einen Fehler Hier ist der Conv-Befehl Ich habe versucht, auf der 2. Spalte der Matrix a zu verwenden. Die Ausgabe, die ich wünsche, wird in der folgenden Matrix gegeben. Wenn Sie irgendwelche Vorschläge haben, würde ich es sehr schätzen Danke. Für Spalte 2 der Matrix a, ich berechnen die 3-Tage gleitender Durchschnitt wie folgt und Platzierung des Ergebnisses in Spalte 4 der Matrix a Ich benannte Matrix a wie gewünschtOutput nur zur Veranschaulichung Der 3-Tages-Durchschnitt von 17, 14, 11 ist 14 der 3-Tages-Durchschnitt von 14, 11, 8 Ist 11 der 3-Tages-Durchschnitt von 11, 8, 5 ist 8 und der 3-Tages-Durchschnitt von 8, 5, 2 ist 5 Es gibt keinen Wert in den unteren 2 Zeilen für die 4. Spalte, weil die Berechnung für die 3-Tage Gleitender Mittelstart am unteren Rand Die gültige Ausgabe wird nicht angezeigt, bis mindestens 17, 14 und 11 Hoffentlich ist dies sinnvoll Aaron Jun 12 13 bei 1 28. Im Allgemeinen würde es helfen, wenn Sie den Fehler zeigen In diesem Fall sind Sie Tut zwei Dinge falsch. Erste Ihre Faltung muss durch drei oder die Länge der gleitenden Durchschnitt geteilt werden. Zweitens bemerken die Größe von c Sie können nicht einfach passen c in a Die typische Art, einen gleitenden Durchschnitt zu bekommen wäre, dasselbe zu verwenden. Aber das sieht nicht so aus, wie du willst. Stattdessen bist du gezwungen, ein paar Zeilen zu benutzen. Ich muss einen gleitenden Durchschnitt über eine Datenreihe berechnen, innerhalb einer for-Schleife muss ich den gleitenden Durchschnitt über N 9 Tage bekommen. Das Array I m Computing in ist 4 Serie von 365 Werten M, die selbst sind Mittelwerte eines anderen Satzes von Daten Ich möchte die Mittelwerte meiner Daten mit dem gleitenden Durchschnitt in einer Handlung. I gegliedert ein bisschen über gleitende Mittelwerte und die conv Befehl und fand etwas, was ich versucht, Umsetzung in meinem Code. So im Grunde, ich berechnen meine Mittel und Plot es mit einem falschen gleitenden Durchschnitt Ich wählte den WTS-Wert direkt von der Mathworks-Website, so dass ist falsche Quelle Mein Problem ist, dass ich Verstehe nicht, was diese wts ist, könnte jemand erklären Wenn es etwas mit den Gewichten der Werte zu tun hat, die in diesem Fall ungültig sind Alle Werte werden gleich gewichtet. Und wenn ich das ganz falsch mache, könnte ich etwas Hilfe bekommen It. My aufrichtigsten Dank. asked Sep 23 14 am 19 05.Using conv ist eine hervorragende Möglichkeit, um einen gleitenden Durchschnitt In den Code, den Sie verwenden, ist wts ist, wie viel Sie wiegen jeden Wert, wie Sie die Summe von diesem Vektor sollte vermutet werden Immer gleich eins sein Wenn du deinen Wert gleichmäßig gewichten möchtest und eine Größe N bewegten Filter machst, dann würdest du es tun wollen. Wenn du das gültige Argument in conv verwende, wirst du in Ms weniger Wert haben, als du in M ​​hast Don t mind die Auswirkungen der Null-Polsterung Wenn Sie die Signalverarbeitung Toolbox können Sie cconv verwenden, wenn Sie einen kreisförmigen gleitenden Durchschnitt versuchen wollen Etwas like. You sollte die conv und cconv Dokumentation für weitere Informationen lesen, wenn Sie Port t bereits. Sie können Verwenden Sie den Filter, um einen laufenden Durchschnitt zu finden, ohne eine for-Schleife zu verwenden. Dieses Beispiel findet den laufenden Durchschnitt eines 16-Element-Vektors, wobei eine Fenstergröße von 5,2 glatt als Teil der Curve Fitting Toolbox verwendet wird, die in den meisten Fällen verfügbar ist Die Daten im Spaltenvektor y unter Verwendung eines gleitenden Durchschnittsfilters Ergebnisse werden im Spaltenvektor yy zurückgegeben. Die Standardspanne für den gleitenden Durchschnitt beträgt 5.


No comments:

Post a Comment