IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Mettre en pause l'exécution d'un programme [Débutant]


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Simulation numérique - Hydrodynamisme
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Simulation numérique - Hydrodynamisme
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Mettre en pause l'exécution d'un programme
    Bonjour à tous,

    Je souhaite mettre en pause l'éxecution du programme suivant :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    clear all
    close all
    clc
     
    % GRABIT Extracts data points from an image file.
    % GRABIT starts a GUI program for extracting data from an image file.
    % It is capable of reading in BMP, JPG, TIF, GIF, and PNG files (anything
    % that is readable by IMREAD).  Multiple data sets can be extracted from a
    % single image file, and the data is saved as an n-by-2 matrix variable in
    % the workspace.  It can also be renamed and saved as a MAT file.
     
     
    grabit('Plt_travers.png')                           % Modify the input file
     
    wait 
     
     
    d = dir('D:\Users\xxx);
    number_of_surfaces=length(find([d.isdir]==0))-5;    % Number of files in the folder
     
    % In order to take into account the number of data files, we substract
    % the number of .m, .txt and .png files.
     
     
    % center_of_motion uses the centroid.m function.
    % CENTROID Compute centroid (center of mass) of a set of points
    % PTS = centroid(POINTS)
    % PTS = centroid(PTX, PTY)
    % Computes the ND-dimensional centroid of a set of points. 
    % POINTS is an array with as many rows as the number of points, and as
    % many columns as the number of dimensions. 
    % PTX and PTY are two column vectors containing coordinates of the
    % 2-dimensional points.
    % The result PTS is a row vector with Nd columns.
     
    center_of_motion(number_of_surfaces)                 % Gives the main Center Of Motion
    La fonction "grabit" prend en entrée un fichier image. Il ouvre une fenêtre permettant de sélectionner des points sur l'image et d'en enregistrer les coordonnées (après définition d'un repère). Ces coordonnées sont par la suite utilisées dans ma fonction "center_of-motion".

    Mon idée est de bloquer l'éxecution du programme tant que la figure ouverte par la fonction "grabit" n'est pas volontairement fermée par l'utilisateur. C'est à dire que tant que l'ensemble des points n'ont pas été relevé, le programme ne va pas lancer l'éxecution de la fonction "center_of_motion".

    Après avoir parcouru l'aide Matlab ainsi que la FAQ, je n'ai pas trouvé de réponse me permettant la mise en pause de mon programme.


    Si quelqu'un a déja rencontré cette situation, cela serait sympa de faire partager son expérience.


    Merci d'avance pour vos réponses,


    Maxime

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Modifie la première ligne du fichier grabit.m :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function im = grabit(fname)
    Et fais comme ceci dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    h = grabit('Plt_travers.png'); 
     
    waitfor(h);
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Simulation numérique - Hydrodynamisme
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Simulation numérique - Hydrodynamisme
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Bonjour Jérome,

    Super merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre une pause dans un programme
    Par PNL dans le forum Général Java
    Réponses: 12
    Dernier message: 28/01/2016, 00h54
  2. mettre en pause le programme
    Par majudis dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/02/2010, 11h39
  3. Mettre en pause un programme
    Par ariuss dans le forum C++
    Réponses: 6
    Dernier message: 11/10/2009, 12h31
  4. Réponses: 3
    Dernier message: 24/07/2009, 16h51
  5. Mettre en attente l'exécution d'un programme
    Par Ome77 dans le forum VBScript
    Réponses: 4
    Dernier message: 13/10/2008, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo