# How do I make the movmean calculate the moving average at the start- and endpoints of an array but in conjunction to each other?

14 views (last 30 days)
Michael Arvin on 16 Mar 2022
Commented: Scott MacKenzie on 16 Mar 2022
Currently my sample program is as following
A = [0 2 4 1 3 5 7];
M = movmean(A,[2 1])
For example, I want to find the moving average for A(7). Instead of not having value for the kf, I want the kf to consider the value of A(1) to calculate the moving average. And the same for when I want to find the moving average of A(1), it should consider the value of A(6) and A(7).
Is it possible to do so? If it is, any idea on how to do it?
Thank you very much.

Scott MacKenzie on 16 Mar 2022
Edited: Scott MacKenzie on 16 Mar 2022
This seems to do the trick:
A = [0 2 4 1 3 5 7];
M = movmean(A,[2 1]);
M2 = movmean([A A A],[2 1]);
n = numel(A);
M2 = M2(n+1:n+n);
format shortg
[A; M; M2]
ans = 3×7
0 2 4 1 3 5 7 1 2 1.75 2.5 3.25 4 5 3.5 3.25 1.75 2.5 3.25 4 3.75
##### 2 CommentsShowHide 1 older comment
Scott MacKenzie on 16 Mar 2022
@Michael Arvin, you're welcome. Good luck.