how to continuously loop until a condition is met?
이전 댓글 표시
I have a set of data that is varying throughout (force plate data) . I am trying to find the bodyweight of the particpants as it loops through the whole script. I tried to use the mode(A) function and it worked for most but not all as the data varies between them all. So, how can i write a loop that keeps using the mode function until it finds a value that is above 400 and below 1000?
댓글 수: 1
jessupj
2021년 1월 5일
see the idea of a 'while' loop. you'd want something like:
value = InF;
while ~(value>400 && value<1000 );
% perform operations
value = ??? % some updated value based on the operations at this stage
end
답변 (1개)
madhan ravi
2021년 1월 5일
편집: madhan ravi
2021년 1월 5일
value = % calculate mode;
while 1
if ((value <= 4e2) && (value <= 1e3))
break
else
% value = calculate mode again , if it doesn't satisfy
end
end
댓글 수: 6
rafe brooks
2021년 1월 5일
madhan ravi
2021년 1월 5일
"why would a nested control structure with a 'break' be preferred to a simple while statement?"
Who said it was preferred?
the simplest solution that solves the problem is preferred.
if
while TRUE;
if (condition)
break
else
% stuff
end
end
and
while ~(condition);
%stuff
end
solve the same problem, the second one is PREFERRED, no?
Walter Roberson
2021년 1월 6일
Sometimes when a user talks about continuing to search until a condition holds, the code is more naturally of the form
while true
do some calculation
if a condition holds
break
end
do some more calculation
end
for example
while true
xnew = 1 - f(xold).^2;
if xnew > 0.99
break
end
xold = xnew;
end
Yes, the form could be rewritten as a while with a condition, but it is not always natural to do so
initialize variables so that condition is false
first_time = true;
while ~condition
if first_time
first_time = false;
else
do some more calculation
end
do some calculation
end
jessupj
2021년 1월 6일
i agree completely that there are instances where this would be the natural way to do it. however, i did not (and still don't... ) see anything in the OP question that indicates it is 'more natural' here.
카테고리
도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!