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

1 vue (au cours des 30 derniers jours)
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

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by