How to calculate the moving average of a finite duration data using sliding concept?

4 views (last 30 days)
I want to compute the moving average of the data array as X = [2 3 4 5 6 8] using sliding window concept with window size of 4. This example is given in the following link. https://in.mathworks.com/help/dsp/ug/sliding-window-method-and-exponential-weighting-method.html .
For that, I am using the command movAvg = dsp.MovingAverage from DSP System Toolbox. But using that I am getting answer like as shown below.
X = [2 3 4 5 6 8];
movavgWindow = dsp.MovingAverage(4);
Y = movavgWindow(X)
Y = 1×6
0.5000 0.7500 1.0000 1.2500 1.5000 2.0000
But as per the link given above the actual answer would be like as shown below.
Y = [0.5 1.25 2.25 3.50 4.50 5.75];
So where is the mistake? Can anyone tell me why the answer is comming as so different even if I am using the same command as recommended in the documemt.

Accepted Answer

Matt J
Matt J on 23 Mar 2022
Both are wrong.
X = [2 3 4 5 6 8];
win=ones(1,4)/4;
Y = conv(X,win,'full')
Y = 1×9
0.5000 1.2500 2.2500 3.5000 4.5000 5.7500 4.7500 3.5000 2.0000
  3 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!