How to Keep Nested For Loop Indexes From Equaling Each Other

2 views (last 30 days)
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

Accepted Answer

Jason Nicholson
Jason Nicholson on 5 May 2020
Edited: Jason Nicholson on 5 May 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."

More Answers (2)

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

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!