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 :

problème interface avec matlab


Sujet :

MATLAB

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 39
    Par défaut problème interface avec matlab
    Bonjour à tous et à toutes,
    Lors de simulation il m'est demandé de faire une simulation où on voit une base roulante lors de son mouvement. Mais là surpise , je vois la base qui roule mais toutes les anciennes positions ne sont pas effacées. voilà le bout de code que j'ai utilisé:
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     
    for i=1:1:5 %size(t)
        x_pos = etat(i,1)
        y_pos = etat(i,2)
        Omega = etat(i,3)
        teta1 = etat(i,5) 
        phi1  = etat(i,6)
        teta2 = etat(i,8)
        phi2  = etat(i,9)
        teta3 = etat(i,11)
        phi3  = etat(i,12)
     
     
     
        % % definition de la base
     
        % points de la base
        Cg = [x_pos,y_pos];
        Rot = [cos(Omega),-sin(Omega);sin(Omega),cos(Omega)];
        Cg = (Rot * Cg')';
     
     
        A1 = [Cg(1)-a,Cg(2)-l/2];
        A2 = [Cg(1)+a,Cg(2)-l/2];
        A3 = [Cg(1),Cg(2)+b];
     
        % definition des contours
        line([A1(1) A3(1)],[A1(2) A3(2)],'Marker','.','LineStyle','-');
        line([A1(1) A2(1)],[A1(2) A2(2)],'Marker','.','LineStyle','-');
        line([A2(1) A3(1)],[A2(2) A3(2)],'Marker','.','LineStyle','-');
     
        % definition des branches portant les roues
        D1 = [A1(1)+d*cos(phi1) A1(2)+d*sin(phi1)];
        D2 = [A2(1)+d*cos(phi2) A2(2)+d*sin(phi2)];
        D3 = [A3(1)+d*cos(phi3) A3(2)+d*sin(phi3)];
     
        line([A1(1) D1(1)],[A1(2) D1(2)],'Marker','.','LineStyle','-','Color','r')
        line([A2(1) D2(1)],[A2(2) D2(2)],'Marker','.','LineStyle','-','Color','r')
        line([A3(1) D3(1)],[A3(2) D3(2)],'Marker','.','LineStyle','-','Color','r')
     
        % % definitions des roues 
     
        % def bord  
        R1 = [D1(1)-r,D1(1)+r,D1(2)+e/2,D1(2)-e/2]; % roue 1
        R2 = [D2(1)-r,D2(1)+r,D2(2)+e/2,D2(2)-e/2]; % roue 2
        R3 = [D3(1)-r,D3(1)+r,D3(2)+e/2,D3(2)-e/2]; % roue 2
     
        % roue 1
        line([R1(1) R1(2)],[R1(3) R1(3)],'Marker','.','LineStyle','-','Color','g')
        line([R1(1) R1(2)],[R1(4) R1(4)],'Marker','.','LineStyle','-','Color','g')
        line([R1(1) R1(1)],[R1(3) R1(4)],'Marker','.','LineStyle','-','Color','g')
        line([R1(2) R1(2)],[R1(3) R1(4)],'Marker','.','LineStyle','-','Color','g')
     
        % roue 2
        line([R2(1) R2(2)],[R2(3) R2(3)],'Marker','.','LineStyle','-','Color','g')
        line([R2(1) R2(2)],[R2(4) R2(4)],'Marker','.','LineStyle','-','Color','g')
        line([R2(1) R2(1)],[R2(3) R2(4)],'Marker','.','LineStyle','-','Color','g')
        line([R2(2) R2(2)],[R2(3) R2(4)],'Marker','.','LineStyle','-','Color','g')
     
        % roue 3
        line([R3(1) R3(2)],[R3(3) R3(3)],'Marker','.','LineStyle','-','Color','g')
        line([R3(1) R3(2)],[R3(4) R3(4)],'Marker','.','LineStyle','-','Color','g')
        line([R3(1) R3(1)],[R3(3) R3(4)],'Marker','.','LineStyle','-','Color','g')
        line([R3(2) R3(2)],[R3(3) R3(4)],'Marker','.','LineStyle','-','Color','g')
        drawnow;
        pause(0.01)
     
    end
    Merci d'avance pour votre aide

  2. #2
    Membre émérite Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Par défaut
    salut
    je pense que tu peux t'en tirer en utilisant CLA en début de boucle

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Ou plus proprement :

    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
    37
    38
    figure('doublebuffer','on')
     
    % definition des contours
    h(1) = line(nan,nan,'Marker','.','LineStyle','-');
    h(2) = line(nan,nan,'Marker','.','LineStyle','-');
    h(3) = line(nan,nan,'Marker','.','LineStyle','-');
     
    for i=1:1:5 %size(t)
     
        x_pos = etat(i,1)
        y_pos = etat(i,2)
        Omega = etat(i,3)
        teta1 = etat(i,5) 
        phi1  = etat(i,6)
        teta2 = etat(i,8)
        phi2  = etat(i,9)
        teta3 = etat(i,11)
        phi3  = etat(i,12)
     
        % % definition de la base
     
        % points de la base
        Cg = [x_pos,y_pos];
        Rot = [cos(Omega),-sin(Omega);sin(Omega),cos(Omega)];
        Cg = (Rot * Cg')';
     
        A1 = [Cg(1)-a,Cg(2)-l/2];
        A2 = [Cg(1)+a,Cg(2)-l/2];
        A3 = [Cg(1),Cg(2)+b];
     
        set(h(1),'xdata',[A1(1) A3(1)],'ydata',[A1(2) A3(2)]);
        set(h(2),'xdata',[A1(1) A2(1)],'ydata',[A1(2) A2(2)]);
        set(h(3),'xdata',[A2(1) A3(1)],'ydata',[A2(2) A3(2)]);
     
        drawnow;
        % pause(0.01)
     
    end
    Idem pour les autres tracés...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 39
    Par défaut
    Merci pour votre aide ça fonctionne maintenant .
    J'ai oublié dois je mettre que le sujet est résolu?
    En tout cas encore merci

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

Discussions similaires

  1. [Débutant] interface avec matlab
    Par NOSVEMOS dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 22/03/2009, 11h58
  2. Exécuter une interface avec Matlab 5.3
    Par chaterbache dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 02/01/2008, 07h08
  3. Problème Interface graphique avec EJB
    Par manuvd dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/06/2007, 12h04
  4. problème avec matlab et zpk data
    Par pouet974 dans le forum MATLAB
    Réponses: 1
    Dernier message: 02/06/2007, 02h03
  5. Problème interface graphique mandriva avec HP
    Par alicom86 dans le forum Mandriva / Mageia
    Réponses: 7
    Dernier message: 14/05/2007, 21h24

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