Azzera filtri
Azzera filtri

For given vector, make a "averaged vector"

1 visualizzazione (ultimi 30 giorni)
JaeSung Choi
JaeSung Choi il 17 Dic 2017
Modificato: Jan il 17 Dic 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??

Risposta accettata

Jan
Jan il 17 Dic 2017
Modificato: Jan il 17 Dic 2017
b = movsum(a, [0, n], 'Endpoints', 'discard')

Più risposte (1)

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

Categorie

Scopri di più su Just for fun in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!