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

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

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

Thank you! Do you know how I could change this so it also works for a matrix? Then for every column.
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 Aerospace Blockset in Help Center and File Exchange

Asked:

on 22 Mar 2022

Commented:

on 22 Mar 2022

Community Treasure Hunt

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

Start Hunting!