Logical condition for a while lopp exits prematureley
조회 수: 1 (최근 30일)
이전 댓글 표시
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
KSSV
2016년 10월 28일
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.
채택된 답변
Jan
2016년 10월 28일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Function Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!