Vectorize two for loops

1 vue (au cours des 30 derniers jours)
Master Blabla
Master Blabla le 19 Nov 2020
How to vectorize this function:
for i=1:100
for j=1:200
TheOne(i,j) = i+j;
end
end

Réponses (2)

David Hill
David Hill le 19 Nov 2020
Modifié(e) : David Hill le 19 Nov 2020
[i,j]=meshgrid(1:100,1:200);
TheOne=reshape(sum((Png1(:,i)-Png2(:,j)).^2),100,[]);
  4 commentaires
Master Blabla
Master Blabla le 19 Nov 2020
It does not work correctly
David Hill
David Hill le 19 Nov 2020
Made a mistake. Try this.
[i,j]=meshgrid(1:100,1:200);
TheOne=reshape(sum((Png1(:,i)-Png2(:,j)).^2),200,[])';

Connectez-vous pour commenter.


CHENG QIAN LAI
CHENG QIAN LAI le 24 Nov 2020
[i,j]=ndgrid(1:100,1:200);
% 1 2 3 . . . 200
%---------------------------
% i= 1 1 1 . . . 1 | 1
% 2 2 2 . . . 2 | 2
% 3 3 3 . . . 3 | 3
% . . . | .
% . . . | .
% . . . | .
% 100 100 100 . . . 100 | 100
%---------------------------
% j= 1 2 3 . . . 200 | 1
% 1 2 3 . . . 200 | 2
% 1 2 3 . . . 200 | 3
% . . . | .
% . . . | .
% . . . | .
% 1 2 3 . . . 200 | 100
TheOne = i+j;

Catégories

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by