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

Bibliothèques tierces Python Discussion :

Tracer un vecteur variation de vecteur vitesse


Sujet :

Bibliothèques tierces Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 17
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2021
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Tracer un vecteur variation de vecteur vitesse
    Bonjour,
    je dois completer un programme python donné par notre prof, affichant de base une bourbe avec les vecteur vitesse et je dois rajouter les vecteurs vitesses. J'ai bien essayer et j'ai abouti à un truc mais je sais que c'est faux car les fleches des vecteurs variation de vitesse doivent être verticale.
    Voici le programme:

    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
    import numpy as np  #importe la bibliothèque numpy pour l'utilisation des tableaux
    import matplotlib.pyplot as plt #importe la bibliothèque pyplot pour l'utilisation des graphiques
    
    x=np.array([0.00153168985698847,0.166631733389227,0.342050529642229,0.514889637715041,0.692888122148235,0.865727230221047,1.04630540283443,1.22172419908744,1.40488205988101,1.58803992067459,1.78151653418893])
    y=np.array([0.000800051546945383,0.258534778079662,0.462145212040507,0.606476658898828,0.696683813185279,0.727611980369205,0.691529118654625,0.591012575306865,0.418330308529946,0.168327623793211,-0.161572826168666])
    vx=np.array([0.0]*11)   #tableau contenant 11 fois 0,0
    vy=np.array([0.0]*11)   #idem
    dvx= np.array([0.0]*11)
    dvy=np.array([0.0]*11)
    
    plt.scatter(x,y,c='red',marker='+') #place les points de coordonnées (x,y)
    plt.axis('equal')       #même échelle en x et en y
    dt=1/10                 #vidéo à 10 images par s : 1/10 s = durée entre 2 positions
    echelleV=0.2            #échelle des vitesses
    
    for i in range(0,10):   #pour i de 0 à 9
        vx[i]=((x[i+1]-x[i])/dt)
        vy[i]=((y[i+1]-y[i])/dt)
        plt.arrow(x[i],y[i],vx[i]*echelleV,vy[i]*echelleV,head_width=0.04,length_includes_head='true', fc='blue', ec='blue')
            #trace le vecteur vitesse en bleu à partir de (x[i],y[i]) avec l'échelle echelleV
        dvx[i]= (vx[i+1]-vx[i])
        dvy[i]= (vy[i+1]-vy[i])
        plt.arrow(x[i],y[i],dvx[i]*echelleV,dvy[i]*echelleV,head_width=0.04,length_includes_head='true', fc='green', ec='green')
        
    plt.show()
    avec en gras ce que j'ai rajouté ( ce qui n'est pas en gras est donc correct) et voici ce que j'obtiens:

    Nom : physique.PNG
Affichages : 107
Taille : 19,8 Ko

    et ce que je devrais obtenir à peut près :

    Nom : physique 2.PNG
Affichages : 99
Taille : 14,5 Ko


    Sauriez vous m'aidez a comprendre comment corriger mes erreurs s'il vous plait ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2013
    Messages : 1 476
    Points : 1 932
    Points
    1 932
    Par défaut
    Oui, il faut faire en 2 fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for i in range(0,10): #pour i de 0 à 9
        vx[i]=((x[i+1]-x[i])/dt)
        vy[i]=((y[i+1]-y[i])/dt)
        plt.arrow(x[i],y[i],vx[i]*echelleV,vy[i]*echelleV,head_width=0.04,length_includes_head='true', fc='blue', ec='blue')
        #trace le vecteur vitesse en bleu à partir de (x[i],y[i]) avec l'échelle echelleV
    for i in range(0,9):
        dvx[i]= (vx[i+1]-vx[i])
        dvy[i]= (vy[i+1]-vy[i])
        plt.arrow(x[i],y[i],dvx[i]*echelleV,dvy[i]*echelleV,head_width=0.04,length_includes_head='true', fc='green', ec='green')
    Pas d'aide par mp.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 17
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2021
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    merci beaucoup !

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

Discussions similaires

  1. tracer un vecteur
    Par bubulle29 dans le forum MATLAB
    Réponses: 4
    Dernier message: 14/04/2009, 16h21
  2. [Débutant] [quiver3] Tracer des vecteurs
    Par nico888 dans le forum MATLAB
    Réponses: 2
    Dernier message: 23/02/2009, 12h22
  3. [Débutant] Problème de corrélation entre deux vecteurs vitesses
    Par sydneya dans le forum Signal
    Réponses: 2
    Dernier message: 29/08/2007, 08h08
  4. Tracer un vecteur à un indice précis
    Par Giansolo dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/02/2007, 13h40
  5. Tracer des vecteurs de couleur
    Par mj555 dans le forum MATLAB
    Réponses: 1
    Dernier message: 01/11/2006, 23h56

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