Thursday 9 November 2017

Wie Zu Berechnen Einfach Gleitend Durchschnitt In Matlab


Moving Average Dieses Beispiel lehrt Sie, wie Sie den gleitenden Durchschnitt einer Zeitreihe in Excel berechnen können. Ein gleitender Durchschnitt wird verwendet, um Unregelmäßigkeiten (Gipfel und Täler) zu glätten, um Trends leicht zu erkennen. 1. Zuerst schauen wir uns unsere Zeitreihen an. 2. Klicken Sie auf der Registerkarte Daten auf Datenanalyse. Hinweis: Kann die Schaltfläche Datenanalyse nicht finden Hier klicken, um das Analysis ToolPak-Add-In zu laden. 3. Wählen Sie Moving Average und klicken Sie auf OK. 4. Klicken Sie in das Feld Eingabebereich und wählen Sie den Bereich B2: M2. 5. Klicken Sie in das Feld Intervall und geben Sie 6 ein. 6. Klicken Sie in das Feld Ausgabebereich und wählen Sie Zelle B3. 8. Zeichnen Sie einen Graphen dieser Werte. Erläuterung: Da wir das Intervall auf 6 setzen, ist der gleitende Durchschnitt der Durchschnitt der bisherigen 5 Datenpunkte und der aktuelle Datenpunkt. Dadurch werden Gipfel und Täler geglättet. Die Grafik zeigt einen zunehmenden Trend. Excel kann den gleitenden Durchschnitt für die ersten 5 Datenpunkte nicht berechnen, da es nicht genügend vorherige Datenpunkte gibt. 9. Wiederholen Sie die Schritte 2 bis 8 für Intervall 2 und Intervall 4. Fazit: Je größer das Intervall, desto mehr werden die Gipfel und Täler geglättet. Je kleiner das Intervall, desto näher sind die gleitenden Mittelwerte zu den tatsächlichen Datenpunkten. Mit MATLAB, wie finde ich den 3-tägigen gleitenden Durchschnitt einer bestimmten Spalte einer Matrix und füge den gleitenden Durchschnitt der Matrix hinzu, die ich zu berechnen versuche Der 3-tägige gleitende Durchschnitt von unten nach oben der Matrix. Ich habe meinen Code bereitgestellt: Angesichts der folgenden Matrix a und Maske: Ich habe versucht, den Conv-Befehl zu implementieren, aber ich bekomme einen Fehler. Hier ist der Conv-Befehl, den ich in der 2. Spalte der Matrix a verwendet habe: Die Ausgabe, die ich wünsche, ist in der folgenden Matrix gegeben: Wenn Sie irgendwelche Vorschläge haben, würde ich es sehr schätzen. Vielen Dank Für Spalte 2 von Matrix a, berechne ich den 3-tägigen gleitenden Durchschnitt wie folgt und platziere das Ergebnis in Spalte 4 der Matrix a (ich benannte Matrix a als 39desiredOutput39 nur zur Illustration). 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-Tage-Durchschnitt von 8, 5, 2 ist 5. Es gibt keinen Wert in den unteren 2 Zeilen für die 4. Spalte, da die Berechnung für den 3-tägigen gleitenden Durchschnitt am Anfang beginnt. Die 39valid39 Ausgabe wird nicht angezeigt, bis mindestens 17, 14 und 11. Hoffentlich ist das sinnlich ndash Aaron Jun 12 13 um 1:28 Im Allgemeinen würde es helfen, wenn du den Fehler zeigen würdest. In diesem Fall machst du zwei Dinge falsch: Zuerst muss deine Faltung durch drei geteilt werden (oder die Länge des gleitenden Durchschnitts) Zweitens bemerke die Größe von c. Du kannst nicht einfach in einen. Die typische Art, einen gleitenden Durchschnitt zu bekommen, wäre, dasselbe zu verwenden: aber das sieht nicht so aus, was du willst. Stattdessen sind Sie gezwungen, ein paar Zeilen zu benutzen: Ive bekam einen Vektor und ich möchte den gleitenden Durchschnitt davon berechnen (mit einem Fenster von Breite 5). Zum Beispiel, wenn der fragliche Vektor 1,2,3,4,5,6,7,8 ist. Dann sollte der erste Eintrag des resultierenden Vektors die Summe aller Einträge in 1,2,3,4,5 (dh 15) sein, der zweite Eintrag des resultierenden Vektors sollte die Summe aller Einträge in 2,3,4 sein, 5,6 (dh 20) usw. Am Ende sollte der resultierende Vektor 15,20,25,30 sein. Wie kann ich das machen? Die Conv-Funktion ist gleich Ihre Gasse: Drei Antworten, drei verschiedene Methoden. Hier ist ein schneller Benchmark (verschiedene Eingabegrößen, feste Fensterbreite von 5) mit Zeitgefühl fühlen sich frei, Löcher darin zu stoßen (in den Kommentaren), wenn man bedenkt, dass es verfeinert werden muss. Conv taucht als der schnellste Ansatz auf, der etwa doppelt so schnell ist wie die Münzen (mit Filter). Und etwa viermal so schnell wie Luis Mendos Ansatz (mit Cumsum). Hier ist ein weiterer Benchmark (feste Eingangsgröße von 1e4 verschiedenen Fensterbreiten). Hier entsteht der Luis Mendos-Cumsum-Ansatz als klarer Gewinner, denn seine Komplexität wird in erster Linie von der Länge des Eingangs abhängig und ist unempfindlich gegenüber der Breite des Fensters. Fazit Zusammenfassend solltest du den conv-Ansatz verwenden, wenn dein Fenster relativ klein ist, nimm den Cumsum-Ansatz, wenn dein Fenster relativ groß ist. Code (für Benchmarks)

No comments:

Post a Comment