conditional statements and while loop

1 Ansicht (letzte 30 Tage)
msh
msh am 24 Nov. 2014
Kommentiert: msh am 24 Nov. 2014
Hi,
I have the following while loop
while (dif1 > tol) && (dif2 > tol) && (dif3 > tol)
procedure
end
I want all the conditions to be simultaneously satisfied. However, when I execute the code, the second condition dif2 > tol is not satisfied although the algorithm stops.
what I am doing wrong here ?
  3 Kommentare
msh
msh am 24 Nov. 2014
Bearbeitet: msh am 24 Nov. 2014
I see. Then this is not what I want. I need ALL conditions to be satisfied in the same time. That is, I need the loop to go on, until ALL three are false. How I should modify the conditions then?
Star Strider
Star Strider am 24 Nov. 2014
The double operands ‘&&’ and ‘| | ‘short circuit’ the comparisons. See: Logical Operators: Short-Circuit && | |. If the first is false, it will not evaluate any of the others.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adam
Adam am 24 Nov. 2014
while (dif1 > tol) || (dif2 > tol) || (dif3 > tol)
should work if you want to carry on until all are false.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by