How to Keep Nested For Loop Indexes From Equaling Each Other

1 visualizzazione (ultimi 30 giorni)
If I have two nested for loops like this, is there a way to skip the iteration where i=j?
for i=1:50
for j=1:50
code
end
end

Risposta accettata

Jason Nicholson
Jason Nicholson il 5 Mag 2020
Modificato: Jason Nicholson il 5 Mag 2020
Use the continue keyword.
for i=1:50
for j=1:50
if j==i
continue; % breaks the inner for loop at the current iteration
else
% Do stuff here
fprintf('i=%d, j=%d\n',i,j);
end
end
end
If this response answers your question, please click "accept this answer."

Più risposte (2)

Walter Roberson
Walter Roberson il 5 Mag 2020
for i=1:50
for j=[1:i-1,i+1:50]
or
for i=1:50
for j=setdiff(1:50, i)

per isakson
per isakson il 5 Mag 2020
for ii=1:50
for jj=1:50
if not(jj==ii)
code
end
end
end

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by