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

6 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Scott MacKenzie
Scott MacKenzie el 16 de Mzo. de 2022
Editada: Scott MacKenzie el 16 de Mzo. de 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

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by