Effacer les filtres
Effacer les filtres

How can I get MATLAB to leave a loop when any key is pressed?

31 vues (au cours des 30 derniers jours)
Wolfgang Niessen
Wolfgang Niessen le 21 Déc 2012
I have a MATLAB script that contains a(n endless) loop. I want the loop to be exited when a key is pressed?

Réponses (1)

José-Luis
José-Luis le 21 Déc 2012
Modifié(e) : José-Luis le 21 Déc 2012
This is a bit of a hack, and will probably slow down your code. The idea is to create a figure, and check whether a key has been pressed when the figure is active. Ergo, you need to click on the figure window and press a key while the cursor is over it.
WARNING: The following is an infinite loop. Use ctrl+c to break it if problems arise.
h = figure(1);
forever = 1;
while forever
drawnow
isKeyPressed = ~isempty(get(h,'CurrentCharacter'));
if isKeyPressed
break
end
end

Catégories

En savoir plus sur Loops and Conditional Statements 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!

Translated by