求和在matlab中不重叠的矩阵的区域

时间:2013-07-10 22:21:41

标签: matlab

我试图将矢量以二十个为一组进行求和。 7628。 我无法想出一种方法来输出具有二十或

组的总和的向量
ans = [sum(a(1:20) sum(a(21:30)....]. 

2 个答案:

答案 0 :(得分:3)

由于7600可被20整除,因此可以重新整形并求和:

a = rand(7600,1);
sum(reshape(a,20,7600/20))

编辑解决非均匀可分长度的评论

b    = 20;
sz   = size(a);

% Last elements to exclude
excl = mod(sz(1),b);

% Sum reshape and sum excluded separately
[sum(reshape(a(1:end-excl), b, fix(sz(1)/b))), sum(a(end-excl+1:end))]

答案 1 :(得分:0)

upfirdn也应运行良好,升级因子为1,脉冲响应为ones(1,20),抽取因子为20

(注意:需要信号处理工具箱)