How to Keep Nested For Loop Indexes From Equaling Each Other

1 回表示 (過去 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 件のコメント
Thomas Schoenstein
Thomas Schoenstein 2020 年 5 月 5 日
Thank you!
Stephen23
Stephen23 2020 年 5 月 5 日
for i=1:50
for j=1:50
if j~=i
...
end
end
end

サインインしてコメントする。

その他の回答 (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 Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by