moving-average

___ answer26982654 ___

Wenn Sie die Größe Ihres Eingabevektors beibehalten möchten, empfehle ich die Verwendung von %code%

%Vor%     
___ tag123matlab ___ MATLAB ist eine von MathWorks entwickelte Hochsprachen- und interaktive Programmierumgebung für numerische Berechnungen und Visualisierung. Fragen sollten entweder mit [tag: matlab] oder [tag: oktave] versehen werden, aber nicht mit beiden, es sei denn, die Frage bezieht sich explizit auf beide Pakete. Wenn Sie dieses Tag verwenden, erwähnen Sie bitte die MATLAB-Version, mit der Sie arbeiten (z. B. R2017a). ___ answer26984386 ___

Eine andere Möglichkeit besteht darin, %code% zu verwenden. Dieser Ansatz erfordert wahrscheinlich weniger Operationen als %code% :

%Vor%

Um etwas Zeit zu sparen, können Sie die letzte Zeile durch

ersetzen %Vor%     
___ qstnhdr ___ Wie kann ich einen gleitenden Durchschnitt eines Vektors (effizient) berechnen? ___ qstntxt ___

Ich habe einen Vektor und möchte den gleitenden Durchschnitt berechnen (mit einem Fenster der Breite 5).

Wenn der fragliche Vektor beispielsweise %code% ist, dann

  • Der erste Eintrag des resultierenden Vektors sollte die Summe aller Einträge in %code% (d. h. %code% );
  • sein
  • Der zweite Eintrag des resultierenden Vektors sollte die Summe aller Einträge in %code% (d. h. %code% );
  • sein
  • usw.

Am Ende sollte der resultierende Vektor %code% sein. Wie kann ich das tun?

    
___ tag123movingage ___ Eine Berechnung des Durchschnittswerts der letzten (innerhalb eines Fensters) Werte in einer Zeitreihe und nicht des Durchschnitts der gesamten Serie. ___ answer26981770 ___

Die Funktion %code% befindet sich direkt auf Ihrer Seite:

%Vor%

Benchmark

Drei Antworten, drei verschiedene Methoden ... Hier ist ein kurzer Benchmark (verschiedene Eingabegrößen, feste Fensterbreite von 5) mit %code% ; fühlen Sie sich frei, Löcher darin zu stoßen (in den Kommentaren), wenn Sie denken, dass es verfeinert werden muss.

%code% erscheint als der schnellste Ansatz; es ist etwa doppelt so schnell wie Münzansatz (mit %code% ) und etwa viermal so schnell wie Luis Mendos Ansatz (mit %code% ) .

Hier ist ein weiterer Benchmark (feste Eingabegröße von %code% , unterschiedliche Fensterbreiten). Hier stellt sich Luis Mendos Ansatz %code% als klarer Gewinner heraus, da seine Komplexität in erster Linie von der Länge der Eingabe bestimmt wird und ist unempfindlich für die Breite des Fensters.

Fazit

Um zusammenzufassen, sollten Sie

  • Verwenden Sie den %code% -Ansatz, wenn Ihr Fenster relativ klein ist,
  • Verwenden Sie den Ansatz %code% , wenn Ihr Fenster relativ groß ist.

Code (für Benchmarks)

%Vor% %Vor%     
___
1
Antwort

Wie verwenden Sie einen gleitenden Durchschnitt, um Beschleunigungsmesserwerte in iPhone OS herauszufiltern?

Ich möchte die Beschleunigungsmesserwerte mit einem gleitenden Durchschnitt filtern, wie wird das gemacht? Danke     
16.02.2010, 11:36
2
Antworten

Bedingtes rollendes Mittel (gleitender Durchschnitt) auf unregelmäßigen Zeitreihen

Ich habe eine Gruppe von Daten im Format: %Vor% Jede ID ist ein Patient und jeder Wert ist beispielsweise der Blutdruck für diese Minute. Ich möchte einen gleitenden Durchschnitt für die 60 Minuten vor und 60 Minuten nach jedem Punkt erstell...
27.01.2014, 03:49
10
Antworten

Wie berechnet man den einfachen gleitenden Durchschnitt in C # schneller?

Was ist die schnellste Bibliothek / Algorithmus zur Berechnung des einfachen gleitenden Durchschnitts? Ich habe meine eigene geschrieben, aber es dauert zu lange auf 330 000 Elemente Dezimal-Datensatz. Periode / Zeit (ms) 20/300; 60/1500...
14.10.2012, 17:18
3
Antworten

Wie kann ich einen gleitenden Durchschnitt eines Vektors (effizient) berechnen?

Ich habe einen Vektor und möchte den gleitenden Durchschnitt berechnen (mit einem Fenster der Breite 5). Wenn der fragliche Vektor beispielsweise [1,2,3,4,5,6,7,8] ist, dann Der erste Eintrag des resultierenden Vektors sollte die Summe...
17.11.2014, 20:34