For given vector, make a "averaged vector"

2 views (last 30 days)
JaeSung Choi
JaeSung Choi on 17 Dec 2017
Edited: Jan on 17 Dec 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??

Accepted Answer

Jan
Jan on 17 Dec 2017
Edited: Jan on 17 Dec 2017
b = movsum(a, [0, n], 'Endpoints', 'discard')

More Answers (1)

Walter Roberson
Walter Roberson on 17 Dec 2017
temp = [0, cumsum(A)];
B = temp(n+1:end) - temp(1:end-n);

Categories

Find more on Just for fun 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!