1

データの集計について質問があります。配列の段階的な合計を行う機能はありますか。簡単な方法があるはずですが、私がググった言葉は正しいものではないようでした。だから本質的に私がやりたいことはこれです

mydata      = rand(360,1);
cat_size    = 10;
aggreg_sum  = zeros(ceil(length(mydata)/cat_size),1);
c = 1;
for i = 1:cat_size: length(mydata)
    aggreg_sum(c) = sum(mydata(i:(i+cat_size)-1));
    c=c+1;
end
4

1 に答える 1

1

最初の質問に関しては、次を使用できますaccumarray

subs = 0*mydata;
subs(1:cat_size:end) = 1;
subs = cumsum(subs);
aggreg_sum = accumarray( subs(:), mydata(:) );
于 2015-12-03T10:06:34.413 に答える