while loop with three conditions

i=2;
while (sqrt(data(i,1)^2+data(i,2)^2+data(i,3)^2) > 0.10 && sqrt(data(i+1,1)^2+data(i+1,2)^2+data(i+1,3)^2) > 0.10 && sqrt(data(i+2,1)^2+data(i+2,2)^2+data(i+2,3)^2) > 0.10)
i=i+1;
end
The above three conditons in while loop working as OR operator. If one of the three conditions meet, the while loop stops. What I need is that while loop should be stopped when the three conditions are met.

2 comentarios

madhan ravi
madhan ravi el 17 de Mayo de 2019
Editada: madhan ravi el 17 de Mayo de 2019
enclose three conditions with a () separately and see if it works
sermet OGUTCU
sermet OGUTCU el 17 de Mayo de 2019
Dear @madhan, the result is same.

Iniciar sesión para comentar.

 Respuesta aceptada

Alex Mcaulley
Alex Mcaulley el 17 de Mayo de 2019
Changing && by ||:
i=2;
while (sqrt(data(i,1)^2+data(i,2)^2+data(i,3)^2) > 0.10 || sqrt(data(i+1,1)^2+data(i+1,2)^2+data(i+1,3)^2) > 0.10 || sqrt(data(i+2,1)^2+data(i+2,2)^2+data(i+2,3)^2) > 0.10)
i=i+1;
end
You should also add another condition to ensure that i doesn't go up to size(data,1)-2
i=2;
while ((sqrt(data(i,1)^2+data(i,2)^2+data(i,3)^2) > 0.10 || sqrt(data(i+1,1)^2+data(i+1,2)^2+data(i+1,3)^2) > 0.10 || sqrt(data(i+2,1)^2+data(i+2,2)^2+data(i+2,3)^2) > 0.10))&& i <= size(data,1)-2
i=i+1;
end

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 17 de Mayo de 2019

Respondida:

el 17 de Mayo de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by