How to Keep Nested For Loop Indexes From Equaling Each Other

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

Jason Nicholson
Jason Nicholson am 5 Mai 2020
Bearbeitet: Jason Nicholson am 5 Mai 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."

Weitere Antworten (2)

Walter Roberson
Walter Roberson am 5 Mai 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 am 5 Mai 2020
for ii=1:50
for jj=1:50
if not(jj==ii)
code
end
end
end

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by