How to Keep Nested For Loop Indexes From Equaling Each Other

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

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by