Logical condition for a while lopp exits prematureley
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, I have this while loop criteria,
while((std(PenPar(:,2),0,1) > 50 && std(PenPar(:,3),0,1) > 50 && std(PenPar(:,4),0,1) > 50) || Stopper==500)
but it stops prematurely; only one of the and terms are satisfied.
Can someone explain me why it is so? Best reagrds
5 commentaires
KSSV
le 28 Oct 2016
As stopper is less then 500. This statement counts to 0. If any std out of three is not satisfied then loop will surely stops. You have to check your std.
Réponse acceptée
Jan
le 28 Oct 2016
while all(std(PenPar(:,2:4),0,1) > 50) || Stopper == 500
does, what you ask for. But this is equivalent to your code, because && has a higher precedence than || . Therefore I'm still convinced, that your code works fine and the loop is not finished too early. Are you sure that the loop is not terminated by the Stopper limit?
4 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Function Creation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!