How to stop (an infinite loop) / the execution of my matlab code via app designer?
Show older comments
Hey, i got an infinite while loop in my script and i want to get out of it using matlab app.designer, therefore i created a start button to run my script which is working perfectly fine and a stop button to stop it whenever the user wants to from the designer.
I couldnt figure how to programme the stop button. a solution can be the change of the value of the while loop(while true ==> while false) from the designer when clicking on the stop button. how can i do it?
i appreciate every help and thanks in advance!
3 Comments
Ankit
on 30 Aug 2022
MATLAB app designer button - MATLAB Answers - MATLAB Central (mathworks.com) If think you already ask this question before? What problem you are facing ? I already mentioned one solution to you - is it not working?
Matlab_Beginner
on 30 Aug 2022
Matlab_Beginner
on 30 Aug 2022
Accepted Answer
More Answers (1)
Rik
on 30 Aug 2022
You need to use the callback function from your stop button to edit a value. This is the general structure:
function StartButtonCallback(app)
app.StopButtonClicked=false;
while ~app.StopButtonClicked
% Do things
% Process any callbacks in the queue. This will also update the value
% of app.StopButtonClicked if the stop button callback has run.
drawnow
end
end
function StopButtonCallback(app)
app.StopButtonClicked=true;
end
3 Comments
Matlab_Beginner
on 30 Aug 2022
Image Analyst
on 30 Aug 2022
Evidently you also have a function called "StopButtonPushed" which is not shown in your screenshot. Don't have the flag name be the same as your callback function name. Call the flag StopButtonClicked like he said, not StopButtonPushed (which is your function's callback name).
Matlab_Beginner
on 30 Aug 2022
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!