我试图以二十为一组对一个向量求和,向量的长度例如为7628。我想不出一种方法来输出一个20集或的和的向量
ans = [sum(a(1:20) sum(a(21:30)....].
由于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))]
upfirdn
也应该工作良好,1
的放大因子、ones(1,20)
的脉冲响应和20
的抽取因子。
(注意:需要信号处理工具箱)