How to avoid nested loops when taking portions of a matrix(e.g using every 10x10 matrix in a 100x100 matrix)?

1 view (last 30 days)
I am interested in running several operations in every 10x10 matrix in a 100x100 matrix. How do I avoid nested loops here? For example,
A = rand(100,100);
B = rand(10,10);
C = zeros(91,91);
for i = 1:91
for j = 1:91
D = B .* A(i:i+9,j:j+9);
C(i,j) = sum(D(:));
end
end

Accepted Answer

Ahmet Cecen
Ahmet Cecen on 11 Nov 2016
C = imfilter(A,B);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!