How to Keep Nested For Loop Indexes From Equaling Each Other

조회 수: 1(최근 30일)
Thomas Schoenstein
Thomas Schoenstein 2020년 5월 5일
댓글: Stephen 2020년 5월 5일
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

채택된 답변

Jason Nicholson
Jason Nicholson 2020년 5월 5일
편집: Jason Nicholson 2020년 5월 5일
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."

추가 답변(2개)

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

Community Treasure Hunt

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

Start Hunting!

Translated by