# While loop if condition

8 views (last 30 days)
Braden Kerr on 6 Nov 2020
Commented: Braden Kerr on 6 Nov 2020
Hello,
I have a while loop that I want to run if two conditions are met. I have the while loop and the first condition written out and its below.
A(1,k) = .35; %guess value for alpha^0
epsi = .1;
sigma = 2;
A_2(1,j) = A(1,k);
while (left > right) || (
A_2(1,j+1) = A_2(1,j)/(sigma);
right = F(1,k)+ (A_2(1,j+1)*epsi*D(:,k)')*D(:,k);
j= j+1;
end
However, I also want to add a condition for the while loop to run that if left is an imaginary number, to cycle through the loop.
Is this possible? Thank you

Sriram Tadavarty on 6 Nov 2020
You can add these conditions in the while loop.
(~isreal(left)) % To check if left is a complex number
(imag(left) ~= 0) % If the check is only to ensure if there is an imaginary content, implies value could be complex
(imag(left) ~= 0 && real(left) == 0) % If the check is to ensure, it is only imaginary number
The usage of || or && depends on the condition, you wanted. If both the conditions to be met, then use &&. If either of conditions have to be met use ||.
Hope this helps.
Regards,
Sriram
Braden Kerr on 6 Nov 2020
Yes, thank you, the top condiditon worked best for what I was trying to do