MATLAB Answers

How to Keep Nested For Loop Indexes From Equaling Each Other

2 ビュー (過去 30 日間)
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

  0 件のコメント

Sign in to comment.

採用された回答

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!
Stephen Cobeldick
Stephen Cobeldick 2020 年 5 月 5 日
for i=1:50
for j=1:50
if j~=i
...
end
end
end

Sign in to comment.

その他の回答 (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)

  1 件のコメント

Thomas Schoenstein
Thomas Schoenstein 2020 年 5 月 5 日
Thank you as well!

Sign in to comment.


per isakson
per isakson 2020 年 5 月 5 日
for ii=1:50
for jj=1:50
if not(jj==ii)
code
end
end
end

  0 件のコメント

Sign in to comment.


Translated by