Overwriting While-loop conditional with +Inf
1 view (last 30 days)
In my code, I have this loop:
while a~=1 && b <= totCycles
I want the loop to run as long as the conditions hold, obviously.
Sometimes, however, I do not want the second condition. I want to effectively make it always true.
Setting totCycles = +Inf looke like the right way to do this, but it doesnt seem to work!
Any ideas why this might be? Or any other workaround?
Andrew Newell on 21 Apr 2017
Edited: Andrew Newell on 21 Apr 2017
MATLAB evaluates a logical expression like your while condition from left to right. If a==1, it knows the expression is false and does not even look at the second part. So I suspect that a is a floating point number, and when you think it is equal to 1 it is not exactly equal to 1. See this FAQ.