For given vector, make a "averaged vector"

2 visualizaciones (últimos 30 días)
JaeSung Choi
JaeSung Choi el 17 de Dic. de 2017
Editada: Jan el 17 de Dic. de 2017
For a given 1 by 1000 vector A = (a1 a2 a3 a4 so on,,a1000) and interger n
I want to make vector
B = (b1 b2 b3 so on,,b(1000-n+1))
with b1 = a1 + a2 + a3 ...+a(n), b2 = a2 + a3 + ....+a(n+1), b(1000-n+1) = a(1000-n+1)+a(1000-n+2)+...a(1000)
Please help me. How can i make such vector B??

Respuesta aceptada

Jan
Jan el 17 de Dic. de 2017
Editada: Jan el 17 de Dic. de 2017
b = movsum(a, [0, n], 'Endpoints', 'discard')

Más respuestas (1)

Walter Roberson
Walter Roberson el 17 de Dic. de 2017
temp = [0, cumsum(A)];
B = temp(n+1:end) - temp(1:end-n);

Categorías

Más información sobre Just for fun en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!