MATLAB Answers

My strange nested for loops

2 views (last 30 days)
Hello buddies,
I've gotten myself into a bit problematic nested if loop. And I have hard time thinking this out.
Imagine 3 for loops and 1 if.
if true
for Ll=LL:LH
for Lh=LL:LH
if Ll<=Lh
for i=Ll:Lh
end
My settings is LL and LH e.g: LL=1 and LH =3 (Both can be higher and with higher range). Then I would like i to make all combinations as long Ll<=Lh - and just one time!
in this example I get the following for i's:
if true
Ll=1 and Lh=1 -> for i=1:1
Ll=1 and Lh=2 -> for i=1:2 * repeats the 1:1 as above
Ll=1 and Lh=3 -> for i=1:3 * repeats the 1:1 as above
Ll=2 and Lh=2 -> for i=2:2
Ll=2 and Lh=3 -> for i=2:3 * repeats the 2:2 as above
Ll=3 and Lh=3 -> for i=3:3
end
The problem is that the above for-i-loops repeat them self a couple of times (the one marked with stars).
Hope to hear from someone! Have a good day, -best

  0 Comments

Sign in to comment.

Accepted Answer

Subin Kuttappan Stellal Mary
Edited: Subin Kuttappan Stellal Mary on 5 Aug 2015
In order for i to make all combinations as long Ll<=Lh, the third for loop is not required.
Try this:
for Ll=LL:LH
for Lh=LL:LH
if Ll<=Lh
fprintf('%d %d\n',Ll,Lh);
end
end
end

  1 Comment

Martin
Martin on 5 Aug 2015
ok thx, it is fixed now

Sign in to comment.

More Answers (0)


Translated by