Speed up nested for loops

I am trying to speed up the code below. Are there any suggestions on how I could make it faster? Thanks!
%A=ones(192,64); %example matrix
%B=ones(192,64); %example matrix
Bpad=padarray(B,[11 11],0,'both');
c=zeros(1,529);
jcount=1;
for i=-11:11
for j=-11:11
c(jcount)=sum(sum(A.*conj(Bpad(12+i:end-11+i,12+j:end-11+j))));
jcount=jcount+1;
end
end

답변 (1개)

Andrei Bobrov
Andrei Bobrov 2012년 4월 13일

1 개 추천

c0 = conv2(B,A);
c = reshape(c0(2:end-1,2:end-1)',1,[]);
OR
c0 = conv2(Bpad,A,'valid');
c = reshape(c0',1,[]);

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2012년 4월 13일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by