我有一个for循环,需要永远评估(因为它涉及长向量),我希望它可以更快,如果我矢量化,但我不知道如何。
问题是采用大小为M + N-1的向量A并制作大小为N的新向量B,其中第一个元素是A的前M个元素的总和,第二个元素是元素2到M A的+1等等。在for循环中我写
B=zeros(1,N);
for i=1:N
B(i)=sum(A(i:M+i-1));
end
您是否看到了对此进行矢量化的方法?
答案 0 :(得分:4)
怎么样?
conv(A, ones(M,1), 'valid');