Wenn Sie die Größe Ihres Eingabevektors beibehalten möchten, empfehle ich die Verwendung von %code%
%Vor%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%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
Am Ende sollte der resultierende Vektor %code% sein. Wie kann ich das tun?
Die Funktion %code% befindet sich direkt auf Ihrer Seite:
%Vor%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.
Um zusammenzufassen, sollten Sie