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

2 次查看(过去 30 天)
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

采纳的回答

Stephen23
Stephen23 2019-9-30
编辑:Stephen23 2019-9-30
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

更多回答(1 个)

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by