How to Keep Nested For Loop Indexes From Equaling Each Other

2 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Jason Nicholson
Jason Nicholson el 5 de Mayo de 2020
Editada: Jason Nicholson el 5 de Mayo de 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."

Más respuestas (2)

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

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by