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

Interfaces Graphiques Discussion :

programmation d'une animation matlab


Sujet :

Interfaces Graphiques

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut programmation d'une animation matlab
    Bonjour,

    Je suis étudiant en master maths 1ere année et je m'y connais pas du tout en MATLAB.

    J'ai un projet où je dois faire une animation matlab d'une particule d'eau qui se déplace dans vague de maniere circulaire. La vague étant une sinusoide qui défile.

    S'il vous plait aidez moi

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonsoir,

    As-tu commencé à coder quelquechose? As-tu un problème précis? Ca nous permettrait de t'aider plus précisément...

    Tu devrais aussi aller faire un tour sur les tutoriels MATLAB.

    Bonne soirée,
    Duf

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    Le problème c'est que je ne comprends rien, j'ai bien une idée mais je n'ai pas les connaissances suffisantes pour la réaliser.

    Pour modéliser la vague, j'ai pensé à faire une translation de la fonction COS que j'incrémente dans la fonction MOVIE, mais j'y arrive pas.

    Et tout se complique si il faut ajouter la particule.

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Tu devrais commencer les choses étapes par étapes car sinon tu risques de ne pas y arriver...

    Commence déjà par écrire le code qui va te permettre de tracer la fonction COS et ensuite de l'animer... Si tu as des problèmes à ce niveau, vient les poser de manière la plus précise possible (c'est comme ça que tu à le plus de chance d'avoir des réponses).

    Ensuite tu pourras t'occuper de la particule...

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    je ne sais pas faire une translation de courbe dans un plan (x,y). par exemple déplacé la courbe de dx!

  6. #6
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    La translation d'une courbe n'est pas un problème de MATLAB mais plutôt d'algorithmie, une solution pourrait être (même si je doute que se soit la meilleure):
    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
     
    % Définition de l'axe des abscisses
    x = [0:0.01:1];
     
    % Tracé de la courbe "figée"
    curve = plot(x, cos(x));
     
    % Boucle pour animer la courbe
    for i_plot = 1:10
     
    % Calcul d'un x "translaté"
    x_trans=x+(0.1*i_plot);
     
    % Modification de la courbe
    set(curve, 'YData', cos(x_trans));
    drawnow;
    end
    Je n'ai pas tester ce code donc à tester et à adapter en fonction du besoin...

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    J'ai essayé le programme que vous m'avez donné, il ne fonctionne pas.
    J'ai donc essayé de le modifier et je n'y arrive pas.


    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
     
    % Définition de l'axe des abscisses
    x = [0:0.01:2*pi];
     
    % Tracé de la courbe "figée"
    curve = plot(x, cos(x));
     
    % Boucle pour animer la courbe
    for i_plot = 1:10
     
    % Calcul d'un x "translaté"
    x_trans=x+(0.1*i_plot);
     
    % Modification de la courbe
    plot(curve, 'YData', cos(x_trans));
    M(i_plot)=getframe;
    end
    movie(M,30);

  8. #8
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Pourrais-tu être un peu plus précis?

    Citation Envoyé par firetebless
    il ne fonctionne pas
    C'est à dire? Il te mets une erreur (si oui laquelle), le comportement n'est pas celui attendu (que fait-il dans ce cas)?

    Citation Envoyé par firetebless
    je n'y arrive pas
    Mêmes questions? Où se situe ton problème?

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    Lorsque j'ai rentré votre code, le logiciel m'a renvoyé une droite de pente négative. Puis j'ai tenté de le modifier mais sans succès, j'ai fait un autre code ki ne fonctionne pas aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for k =0:10;
    x = 0:0.1:2*pi;
    y=cos(x);
    v = translate(y,[k 0]);
    plot(v);
    M(k)= getframe;
    end;
    movie(M,30);
    on me met qu'il y'a une erreur à la ligne'' v = translate(y,[k 0]);''

  10. #10
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    J'ai (enfin) pu tester mon code, en effet il n'était pas très démonstratif, en le modifiant légèrement c'est plus joli:

    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
     
    % Création de l'axe
    AxMain = axes('XLim', [0,1]);
     
    % Définition de l'axe des abscisses
    x = [0:0.01:1];
     
    % Tracé de la courbe "figée"
    curve = plot(AxMain, x, cos(2*pi*x));
     
    % Boucle pour animer la courbe
    for i_plot = 1:10
     
        pause(0.1);
     
        % Calcul d'un x "translaté"
        x_trans=x+(0.1*i_plot);
     
        % Modification de la courbe
        set(curve, 'YData', cos(2*pi*x_trans));
        drawnow;
    end

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    Salut,c'est bon pour la vague encore un grand merci il me reste à modéliser la particule qui se déplace sur un cercle.Je me demande comment représenter un point qui se déplace sur un cercle.

  12. #12
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Je pense que lorsque tu as l'équation du cercle tu as fais le plus compliqué: ensuite il suffit de faire évoluer x (ou y) pour obtenir les nouvelles coordonnées de ton point (qui seront toujours sur le cercle si tu utilises tout le temps la même équation...)

Discussions similaires

  1. [Flash Pascal] Affichage d'une animation Flash dans un programme Lazarus
    Par Roland Chastain dans le forum Flash Pascal
    Réponses: 3
    Dernier message: 27/09/2015, 21h37
  2. Appeler une fonction matlab dans un programme C++
    Par samiaarch dans le forum C++
    Réponses: 1
    Dernier message: 15/10/2012, 22h22
  3. Programme d'une fonction matlab
    Par ENSAM-ALAMI dans le forum MATLAB
    Réponses: 14
    Dernier message: 31/03/2008, 16h29
  4. Comment ne pas rejouer une animation après un clic ?
    Par mmmmhhh dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 04/09/2002, 16h11
  5. Passage de parametre a une anim Flash 5
    Par debug dans le forum Intégration
    Réponses: 4
    Dernier message: 03/06/2002, 17h59

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