How to sum over each n-th element in an array ?

2 views (last 30 days)
I have a 1 x 108108 array (named output) and I am trying to calculate the sum of elements in this fashion : a1 = sum (1st element + 1002th element + 2003th element +....+ (108108-1001)th element), for each 1008th element after the beginning one. The next sum would be a2 = sum (2nd element + 1003th element + 2004th element....+(108108-1001)th element) and so on till, a1001 = sum (1001th element + 2002th element + 3003th element +....108108th element). Afterwards, I want to collect a1,a2,a3...,a1001 into an array.
Could somebody point me to some documentation that will help me to do this ?
Thanks

Accepted Answer

Stephen23
Stephen23 on 30 Sep 2019
Edited: Stephen23 on 30 Sep 2019
Just use reshape:
>> b = sum(reshape(a,1001,[]),2);
and checking the output:
>> b(1)
ans = -6343.8
>> sum(a(1:1001:end))
ans = -6343.8
>> b(2)
ans = -6345.5
>> sum(a(2:1001:end))
ans = -6345.5

More Answers (1)

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!