j'ai crée un programme sur matlab et j'aimerais qu'il s'arrête quand j'appuie sur une touche de mon choix (par exemple "echap") à nimportequel moment..
merci d'avance de votre aide
j'ai crée un programme sur matlab et j'aimerais qu'il s'arrête quand j'appuie sur une touche de mon choix (par exemple "echap") à nimportequel moment..
merci d'avance de votre aide
Tout dépend de savoir si tu souhaites récupérer certaines données lors de cette interruption de code
oui il faut que je récupère des données, j'ai des histogrammes a tracer quand le programme s'arrète. Pour le moment pour mes tests je fais une boucle avec plusieurs itérations mais ce n'est pa ce qui m'est demandé.
ce qui est demandé c'est que le programme tourne tout le temp et dès qu'on appuie sur une touche il s'arrête et la je trace des courbes avec les valaurs calculées grâce au programme.
oui le programme est inclus dan une boucle while-end
Une solution simple consiste à sauvegarder les données utiles à chaque itération dans un fichier mat et à interrompre la boucle avec Ctrl+C.
Encore faut-il que Ctrl+C réponde correctement.
Ensuite, il suffit de lire le fichier contenant les données pour les afficher.
Ce n'est pas la solution la plus propre, mais elle devrait faire l'affaire (du moins au début).
le problème est que lorsque je sors de la boucle, je dois tracer des courbes (plot et bar en dehors du While), si je fais Ctrl+C le programme s'arrête complétement et je ne peux plus tracer ces graphiques.
Essaie ceci :
Le code crée une interface invisible qui ne sert qu'à prendre en compte l'action sur le clavier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 f=figure('units','pixels','position',[-100 -100 5 5],'CurrentCharacter','a'); n=0; while 1 & get(f,'CurrentCharacter')~=27 fprintf('%d\n',n); n=n+1; pause(.5) if n>10 disp('FIN') break end end close(f); fprintf('Touche Esc, n vaut %d\n',n)
Il te suffit juste de remplacer la boucle WHILE-END par celle de ton code.
j'ai essayer votre programme en le copiant dans la fenêtr de commande matlab, ça marche mais quand je le copie dans un fichier.m ça ne marche plus, le programme ne s'arrete pas quend j'appuie sur la touche esc..
j'ai beau essayer plusieurs fois, le programme ne s'arrete pas quand je presse la touche esc lorsque le programme se trouve dans un fichier.m
auriez-vous une idée d'où ça pourrait provenir s'il vous plait?
la version que j'utilise est la 7.2.0.232 (R2006a)
je viens d'essayer le programme de Dut en R2006a, il marche très bien. Des que j'appuie sur Esc, le code s'interrompt.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager