1
У меня есть вопрос, связанный с агрегированием данных. Существует ли fuction, который делает пошаговые суммы массива. Должен быть какой-то простой способ, но слова, которые я искал, не казались правильными. Поэтому в основном то, что я хочу сделать, этоПостроение ступенчатой (агрегированной) суммы
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
@ Шай: Спасибо, это было то, что я искал. Подумав немного больше об этом, я решил, что reshape также должен это сделать ... 'sum (reshape (mydata, cat_size, []))' – horseshoe
@horseshoe действительно, если 'numel (mydata)' является целым числом, умноженным на 'cat_size 'то использование' reshape' может даже быть лучше, чем 'tankarray'. – Shai
@ Shai: А вы правы, и я мог бы иметь именно это, так как мои данные на самом деле 361, а не 360. Поэтому я буду придерживаться вашего решения. Все еще оставляет второй, чтобы решить ... – horseshoe