counting n subsequent element of an array

4 次查看(过去 30 天)
say i have an array a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
is there a easy way to add say n=3 elements at a time and form another array b. that is elements of b will be as follows:
b = [1+2+3, 2+3+4, 3+4+5, 4+5+6, 5+6+7,6+7+8,7+8+9, 8+9+10];

采纳的回答

Matt J
Matt J 2013-1-10
b = conv(a,[1 1 1],'valid')

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-1-10
编辑:Azzi Abdelmalek 2013-1-10
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
n=3
b=arrayfun(@(x) sum(a(x:x+n-1)),1:numel(a)-n+1)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by