Berechnen eines gleitenden Durchschnitts
Muss ich berechnen Sie einen gleitenden Durchschnitt über eine Daten-Serie, die innerhalb einer for-Schleife. Ich habe, um den gleitenden Mittelwert über N=9 Tage. Die array-ich bin computing im 4-Serie, 365-Werte (M), die selbst mittlere Werte von einen anderen Satz von Daten. Ich möchte, um den Verlauf der mean-Werte meine Daten mit dem gleitenden Durchschnitt in einem plot.
Ich ein wenig gegoogelt über den gleitenden durchschnitten und der "conv" - Befehl und etwas gefunden, was ich habe versucht, die Umsetzung in meinem code.:
hold on
for ii=1:4;
M=mean(C{ii},2)
wts = [1/24;repmat(1/12,11,1);1/24];
Ms=conv(M,wts,'valid')
plot(M)
plot(Ms,'r')
end
hold off
Also im Grunde berechne ich meine meine, und zeichnen Sie es mit der (falschen) gleitender Durchschnitt. Ich nahm das "wts" Wert rechts von der mathworks-Website, so dass die falsch ist. (Quelle: http://www.mathworks.nl/help/econ/moving-average-trend-estimation.html) Mein problem ist allerdings, dass ich nicht verstehen, was das "wts" ist. Könnte jemand erklären? Wenn es etwas zu tun mit den gewichten der Werte: das ist in diesem Fall ungültig. Alle Werte werden gleich gewichtet.
Und wenn ich mache das hier völlig falsch ist, konnte ich einigen damit helfen?
Mein aufrichtiger Dank.
InformationsquelleAutor Dennis Alders | 2014-09-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei weitere alternativen:
1)
- filter
Vom doc:
2)
glatt
als Teil der " Curve Fitting Toolbox (die ist in den meisten Fällen)Vom doc:
InformationsquelleAutor thewaywewalk
2016 MATLAB Hinzugefügt, die
movmean
Funktion berechnet einen gleitenden Durchschnitt:InformationsquelleAutor Dan
Mit conv ist eine ausgezeichnete Möglichkeit zur Umsetzung eines gleitenden Durchschnitts. In dem code, den Sie verwenden, wts ist, wie viel Sie Wiegen jeder Wert (wie Sie vermutete). die Summe dieser Vektor sollte immer gleich sein. Wenn Sie möchten, Gewicht jeder Wert gleichmäßig und nicht eine Größe N, bewegliche filter, dann würden Sie wollen, zu tun
Verwendung der 'gültige' argument in conv führen wird, dass weniger Werte in Ms, als Sie in M. Verwenden Sie 'gleiche', wenn Sie nichts dagegen haben die Auswirkungen von zero-padding. Wenn Sie die signal processing toolbox, die Sie verwenden können cconv wenn Sie möchten, um zu versuchen, ein kreisförmiges moving average. So etwas wie
funktionieren sollte.
Lesen Sie die conv und cconv - Dokumentation für weitere Informationen, wenn Sie nicht bereits getan haben.
InformationsquelleAutor Trogdor
Ich würde dieses:
Riss direkt aus hier.
Kommentar über Ihre aktuelle Umsetzung.
wts
ist die Gewichtung Vektor, die von the Mathworks, ist eine 13-Punkt-Durchschnitt, mit einem besonderen Augenmerk auf den ersten und letzten Punkt des Wiegens die Hälfte den rest.InformationsquelleAutor macduff