For given vector, make a "averaged vector"

2 Ansichten (letzte 30 Tage)
JaeSung Choi
JaeSung Choi am 17 Dez. 2017
Bearbeitet: Jan am 17 Dez. 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??

Akzeptierte Antwort

Jan
Jan am 17 Dez. 2017
Bearbeitet: Jan am 17 Dez. 2017
b = movsum(a, [0, n], 'Endpoints', 'discard')

Weitere Antworten (1)

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

Kategorien

Mehr zu Just for fun finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!