MATLAB: Using an or in a while loop.

MATLABwhile loop

I want to have an or statement in my while loop. Eventually I will be incrementing ea as well as iter. But right now it should exit out of the while loop after 100 iterations but it is continuing forever. What is wrong with the or statement? es = .01; imax = 100; iter = 0; ea = es;
while ((ea <= es )|| (iter <= imax) )
iter = iter + 1;
end
disp(iter);

Best Answer

You need && for that rather than || . Your existing code does not exit the loop until both parts are false, which never happens since you do not change ea or es.