Vectorize two for loops

1 Ansicht (letzte 30 Tage)
Master Blabla
Master Blabla am 19 Nov. 2020
Beantwortet: CHENG QIAN LAI am 24 Nov. 2020
How to vectorize this function:
for i=1:100
for j=1:200
TheOne(i,j) = i+j;
end
end

Antworten (2)

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

Melden Sie sich an, um zu kommentieren.


CHENG QIAN LAI
CHENG QIAN LAI am 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;

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by