Immediatly break out from a loop upon callback

조회 수: 3 (최근 30일)
Théo
Théo 2020년 5월 16일
댓글: Théo 2020년 5월 18일
Hello,
Is it possible to immediatly break out from a loop upon callback, meaning without waiting the loop to finish the commands its doing?
For example, I have a GUI with a button giving Button.Value=0 or 1 if pressed or not
My code is structured like this:
while someconditions
%doAction1
pause(60)
%doAction2
pause(60)
end
But if I do:
while someconditions && Button.Value==1
%doAction1
pause(60)
%doAction2
pause(60)
end
or
while someconditions &&
if Button.Value==1
%doAction1
else
break
end
pause(60)
if Button.Value==1
%doAction2
else
break
end
pause(60)
end
then pressing the Button will not immediatly stop the loop but rather finish all the commands, including long pauses. For example, if I press the button in the middle of a pause, then I will have to wait before the loop breaks.
Sorry to bother but I searched extensively and didnt really find something.
I'm using Matlab2019b with the AppDesigner.
Thanks !
  댓글 수: 2
Rik
Rik 2020년 5월 16일
This is fundamental to how Matlab works: even user interactions shouldn't break things. If you absolutely have to stop execution right now, you can always use ctrl+c.
Théo
Théo 2020년 5월 18일
Thank you for your answer.
I will rethink my algorithm then !

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by