Function for Calculating Moving sum
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
John
am 16 Jul. 2012
Kommentiert: Image Analyst
am 12 Okt. 2017
Is there any function to calculate moving sum of a vector? I use "smooth" for calculating the moving average of a vector
1 Kommentar
F.
am 16 Jul. 2012
I'm sorry but I don't understand "moving sum of a vector" ... Could you explain it and give a little exemple ? thanks
Akzeptierte Antwort
Image Analyst
am 16 Jul. 2012
Bearbeitet: Image Analyst
am 16 Jul. 2012
For a "moving" sum - the sum in a window - you can use conv(), or conv2() in two dimensions:
windowWidth = 15; % or whatever.
movingSum = conv(oneDsignal, ones(1, windowWidth));
for the moving average:
windowWidth = 15; % or whatever.
movingAverage = conv(oneDsignal, ones(1, windowWidth) / windowWidth);
4 Kommentare
Image Analyst
am 12 Okt. 2017
Why wouldn't it? If you replace each element with the average of elements around it, which is what conv() can do, then that's the moving average.
Weitere Antworten (1)
Jonathan Sullivan
am 16 Jul. 2012
help filter
doc filter
Example: Take a 10 element moving average.
x = rand(1e3,1);
n = 10;
x_moving_average = filter(ones(1,n)/n,1,x);
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!