Using movmean to calculate mean of first and last element in array

2 views (last 30 days)
I have an array [1 5 8 10] and using movmean with window length [0 1] this gives me [3 6.5 9 10]. Is there a way in which I can use movmean to calculate the mean of 10 and 1 as well and add that in the fourth position of the array?

Accepted Answer

Ive J
Ive J on 22 Mar 2022
What about this?
a = [1 5 8 10];
ma = movmean([a, a(1)], [0 1], 'Endpoints', 'discard')
ma = 1×4
3.0000 6.5000 9.0000 5.5000
  2 Comments
sr9497
sr9497 on 22 Mar 2022
Edited: sr9497 on 22 Mar 2022
Thank you! Do you know how I could change this so it also works for a matrix? Then for every column.
Ive J
Ive J on 22 Mar 2022
Just set dim to 2:
a = [1 5 8 10;3 4 5 12];
ma = movmean([a, a(:, 1)], [0 1], 2, 'Endpoints', 'discard')
ma = 2×4
3.0000 6.5000 9.0000 5.5000 3.5000 4.5000 8.5000 7.5000

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!