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

GUI Python Discussion :

Problème code graphique


Sujet :

GUI Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Problème code graphique
    Bonjour, alors voilà j'ai tapé le code suivant, qui me trace normalement un graphique d'une sinuosidale (axe y= position ; axe x = temps) en se basant sur la formule d'un pendule harmonique : y= A sin (wt); avec A=amplitude = 0.8, w= 2, t= temps.
    Le problème, c'est que j'aimerais que l'utilisateur puisse taper des données expérimentales (t= 1 sec,...) , ce que j'ai réussi à faire, mais j'aimerais que ce qu'il tape (le "t") soit traité dans la formule A sin (wt), afin d'obtenir les valeur y.

    Au final, je voudrais que le graphique se fasse (ce qui est déjà le cas mais je n'ai pas l'impression que ce soit dû à ce que l'utilisateur tape...)

    Je vous remercie !

    Voici le code :
    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
    # -*- coding: cp1252 -*-
    import matplotlib.pyplot as plt
    from pylab import *
    import pylab
    import numpy
     
    tabx = []
    taby = []
    # Avoir le jeu de data
     
    while True:
        x = raw_input("Entrer temps ") #Lance l'application#
        tabx.append(float(x)) #Dit que ça peut être des nombres flottants#
        another = raw_input("Continue ? y/n \n") #donne condition pour poursuivre l'app#
        if another != "y": 
            break
    # Tant qu'on met "y", l'application continue de fonctionner#
     
    time_min = 0.1
    time_max = 30
    #axes horizontaux
     
    def sinusoid(t):
        A = 0.8
        w = 2
        return A * sin(w*t)
     
    T = numpy.linspace(0, 2*pi, 100)
    Y = map(sinusoid, T)
     
    plt.axis([0, 2*pi, -1, 1])
    plt.plot(T, Y, 'b')
    plt.show()

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Il faudrait que tu te poses la question de l'usage de tabx, taby.

    Je me doute que tu sais ce que sont ces deux noms de listes, mais je parle de ton code, à quoi servent ces deux listes ? où sont-elles utilisées ?

    Une remarque, pour l'entrée utilisateur, tu obliges celui-ci à entrer 'y' entre chaque donnée, ce qui peut être évité comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while True:
        x = raw_input("Entrer temps ")
        if not x:
            break
        tabx.append(float(x))
    de cette manière il suffit d'entrer simplement Enter pour interrompre la boucle.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Eh bien , ces "tab" servent simplement à introduire le jeu de data, afin justement de pouvoir y introduire des données ! (à moins que je ne me trompe sur l'origine de ces lignes ^^)

    Sinon, je viens d'essayer vos lignes, ça marche du tonnerre !
    J'ai un autre petit problème maintenant. J'aimerais faire la même chose mais obtenir une "sinuosidale" amortie (comme montré sur l'image jointe). Le problème c'est que l'équation est beaucoup plus complexe (elle contient d'ailleurs les nombres complexes) et je ne suis pas assez à l'aise avec ça que pour trouver comment bien tout agencer. Avez-vous des conseils/solutions ?

    Je vous remercie pour votre aide !
    Images attachées Images attachées  

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Points : 692
    Points
    692
    Par défaut
    Bonjour,

    L'utilisation d'une solution avec des nombres complexes rend plus facile la résolution à la main. Mais on peut choisir tout aussi bien une combinaison linéaire d'un sinus et d'un cosinus. Cette façon de faire peut être trompeuse car c'est la partie réelle de la solution qui a un sens physique.

    Il faut commencer par déterminer la relation entre A et B de la solution proposée à l'aide de la condition initiale.

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je n'y avais pas pensé. En effet ça pourrait m'aider. Merci !

Discussions similaires

  1. [Problème code] Afficher/Masquer div
    Par glloq8 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/03/2006, 14h18
  2. [VBA-E]Problème Variable/Graphique
    Par 47-47 dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 21/02/2006, 10h34
  3. problème carte graphique NVIDIA
    Par reboots dans le forum Windows XP
    Réponses: 12
    Dernier message: 12/10/2005, 16h28
  4. problème avec graphique dans état access
    Par petitmic dans le forum Access
    Réponses: 5
    Dernier message: 07/09/2005, 14h55
  5. [GD] Code graphique anti robot
    Par miel_pops dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 03/03/2005, 00h03

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