Question
Question
Bonjour
ou tester un script python qui commence par (site internet) :
import matplotlib.pyplot as plt
import numpy as np
dt=0.050
...
Merci
ou tester un script python qui commence par (site internet) :
import matplotlib.pyplot as plt
import numpy as np
dt=0.050
...
Merci
-
- Messages : 10358
- Enregistré le : lun. 30 août 2010 11:15
Re: Question
Bonjour,
tu peux essayer avec la plateforme basthon, en mode console : https://basthon.fr/
Normalement, cela fonctionne, il faut cliquer sur l'icône des images pour obtenir le graphique si tu en as un à afficher : Dis moi si cela fonctionne.
tu peux essayer avec la plateforme basthon, en mode console : https://basthon.fr/
Normalement, cela fonctionne, il faut cliquer sur l'icône des images pour obtenir le graphique si tu en as un à afficher : Dis moi si cela fonctionne.
Re: Question
Non, ca ne marche pas...
J'ai cliqué sur l'icone et rien n'apparait...
J'ai cliqué sur l'icone et rien n'apparait...
-
- Messages : 10358
- Enregistré le : lun. 30 août 2010 11:15
Re: Question
Bonjour,
quel est ton programme ?
L'as-tu exécuté ? Peut-être faut-il appeler une fonction ?
Merci de m'envoyer ton script et j'essaierai de l'exécuter.
quel est ton programme ?
L'as-tu exécuté ? Peut-être faut-il appeler une fonction ?
Merci de m'envoyer ton script et j'essaierai de l'exécuter.
Re: Question
C'est ceci merci
https://www.cjoint.com/data3/LCEqBbzuuc4_script.png
https://www.cjoint.com/data3/LCEqBbzuuc4_script.png
-
- Messages : 10358
- Enregistré le : lun. 30 août 2010 11:15
Re: Question
Essaie de rajouter la ligne suivante à la fin de ton script :
Si tu veux que je l'exécute, il faut me l'envoyer au format texte pour ne pas avoir à tout ressaisir.
Code : Tout sélectionner
plt.show()
Re: Question
Toujours pas...
voila
import matplotlib.pyplot as plt
import numpy as np
dt=0.050
x=np.array([0.000,0.1270,0.2520,0.3770,0.5040,0.6290,0.7510,0.8750,0.9970,1.120,1.250,1.370,1.490,1.620,1.750])
y=np.array([0.000,0.1880,0.3600,0.5010,0.6230,0.7200,0.7890,0.8390,0.8610,0.8640,0.8450,0.8010,0.7290,0.6370,0.5260])
plt.plot(x,y,"b*")
N=14
for i in range(1,N-1) :
vx=((x[i+1])-(x[i-1]))/(2*dt)
vy=((y[i+1])-(y[i-1]))/(2*dt)
echelle=0.05
vx=vx*echelle
vy=vy*echelle
plt.quiver(x,y,vx,vy,color="red",scale=1,scale_units="xy")
plt.title("Trajectoire de la balle et vecteurs vitesse")
plt.xlabel("Position en abscisse (m)")
plt.ylabel("Position en ordonnée (m)")
plt.axis()
voila
import matplotlib.pyplot as plt
import numpy as np
dt=0.050
x=np.array([0.000,0.1270,0.2520,0.3770,0.5040,0.6290,0.7510,0.8750,0.9970,1.120,1.250,1.370,1.490,1.620,1.750])
y=np.array([0.000,0.1880,0.3600,0.5010,0.6230,0.7200,0.7890,0.8390,0.8610,0.8640,0.8450,0.8010,0.7290,0.6370,0.5260])
plt.plot(x,y,"b*")
N=14
for i in range(1,N-1) :
vx=((x[i+1])-(x[i-1]))/(2*dt)
vy=((y[i+1])-(y[i-1]))/(2*dt)
echelle=0.05
vx=vx*echelle
vy=vy*echelle
plt.quiver(x,y,vx,vy,color="red",scale=1,scale_units="xy")
plt.title("Trajectoire de la balle et vecteurs vitesse")
plt.xlabel("Position en abscisse (m)")
plt.ylabel("Position en ordonnée (m)")
plt.axis()
-
- Messages : 10358
- Enregistré le : lun. 30 août 2010 11:15
Re: Question
Merci,
pour moi,
avec ce script :
cela fonctionne :
Pense à bien décaler tes lignes pour la boucle for et à rajouter plt.show() à la fin.
Bonne continuation
pour moi,
avec ce script :
Code : Tout sélectionner
import matplotlib.pyplot as plt
import numpy as np
dt=0.050
x=np.array([0.000,0.1270,0.2520,0.3770,0.5040,0.6290,0.7510,0.8750,0.9970,1.120,1.250,1.370,1.490,1.620,1.750])
y=np.array([0.000,0.1880,0.3600,0.5010,0.6230,0.7200,0.7890,0.8390,0.8610,0.8640,0.8450,0.8010,0.7290,0.6370,0.5260])
plt.plot(x,y,"b*")
N=14
for i in range(1,N-1) :
vx=((x[i+1])-(x[i-1]))/(2*dt)
vy=((y[i+1])-(y[i-1]))/(2*dt)
echelle=0.05
vx=vx*echelle
vy=vy*echelle
plt.quiver(x,y,vx,vy,color="red",scale=1,scale_units="xy")
plt.title("Trajectoire de la balle et vecteurs vitesse")
plt.xlabel("Position en abscisse (m)")
plt.ylabel("Position en ordonnée (m)")
plt.axis()
plt.show()
Bonne continuation
Re: Question
Merci mais personnellement ca ne marche toujours pas alors que j'ai tout bien fais...
-
- Messages : 10358
- Enregistré le : lun. 30 août 2010 11:15
Re: Question
On reprend :
tu fermes la fenêtre de basthon qui serait encore ouverte et tu ouvres une nouvelle fenêtre de ton navigateur :
Tu vas sur le site Basthon : https://basthon.fr/
Tu choisis le mode console python.
Tu copies le code que j'ai donné dans mon précédent message.
import matplotlib.pyplot as plt
import numpy as np
dt=0.050
x=np.array([0.000,0.1270,0.2520,0.3770,0.5040,0.6290,0.7510,0.8750,0.9970,1.120,1.250,1.370,1.490,1.620,1.750])
y=np.array([0.000,0.1880,0.3600,0.5010,0.6230,0.7200,0.7890,0.8390,0.8610,0.8640,0.8450,0.8010,0.7290,0.6370,0.5260])
plt.plot(x,y,"b*")
N=14
for i in range(1,N-1) :
vx=((x[i+1])-(x[i-1]))/(2*dt)
vy=((y[i+1])-(y[i-1]))/(2*dt)
echelle=0.05
vx=vx*echelle
vy=vy*echelle
plt.quiver(x,y,vx,vy,color="red",scale=1,scale_units="xy")
plt.title("Trajectoire de la balle et vecteurs vitesse")
plt.xlabel("Position en abscisse (m)")
plt.ylabel("Position en ordonnée (m)")
plt.axis()
plt.show()
Tu cliques sur l'icône exécuter
Puis tu cliques à droite sur l'icone représentant une image.
Il faut parfois un peu de temps mais tu devrais avoir ton graphique.
Sinon essaie avec trinket : https://trinket.io/python3
Bonne continuation
tu fermes la fenêtre de basthon qui serait encore ouverte et tu ouvres une nouvelle fenêtre de ton navigateur :
Tu vas sur le site Basthon : https://basthon.fr/
Tu choisis le mode console python.
Tu copies le code que j'ai donné dans mon précédent message.
import matplotlib.pyplot as plt
import numpy as np
dt=0.050
x=np.array([0.000,0.1270,0.2520,0.3770,0.5040,0.6290,0.7510,0.8750,0.9970,1.120,1.250,1.370,1.490,1.620,1.750])
y=np.array([0.000,0.1880,0.3600,0.5010,0.6230,0.7200,0.7890,0.8390,0.8610,0.8640,0.8450,0.8010,0.7290,0.6370,0.5260])
plt.plot(x,y,"b*")
N=14
for i in range(1,N-1) :
vx=((x[i+1])-(x[i-1]))/(2*dt)
vy=((y[i+1])-(y[i-1]))/(2*dt)
echelle=0.05
vx=vx*echelle
vy=vy*echelle
plt.quiver(x,y,vx,vy,color="red",scale=1,scale_units="xy")
plt.title("Trajectoire de la balle et vecteurs vitesse")
plt.xlabel("Position en abscisse (m)")
plt.ylabel("Position en ordonnée (m)")
plt.axis()
plt.show()
Tu cliques sur l'icône exécuter
Puis tu cliques à droite sur l'icone représentant une image.
Il faut parfois un peu de temps mais tu devrais avoir ton graphique.
Sinon essaie avec trinket : https://trinket.io/python3
Bonne continuation
Re: Question
Merci infiniment SOS21, j'ai réussi.
J'avais une petite question : pourquoi les instructions de la boucle "for" ne peuvent ils pas être réaliser une énième fois ?
Je pense que je dois regarder ce qui est indiqué dans l'instruction "For i in range(1,N-1) mais après je ne sais pas trop..
Merci !
J'avais une petite question : pourquoi les instructions de la boucle "for" ne peuvent ils pas être réaliser une énième fois ?
Je pense que je dois regarder ce qui est indiqué dans l'instruction "For i in range(1,N-1) mais après je ne sais pas trop..
Merci !
-
- Messages : 10358
- Enregistré le : lun. 30 août 2010 11:15
Re: Question
Bonjour,
tu as réussi sur Basthon ou sur Trinket ?
ta liste contient 15 valeurs, qui sont repérées par les indices de 0 à 14.
Comme tu calcules ton vecteur vitesse de proche en proche en faisant un écart entre deux positions :
Tu pars de l'indice i = 1 et tu fais l'écart entre les positions i-1 = 0 et i+1 = 2;
puis tu passes à l'indices suivant : i = 2, écart entre les positions 1 et 3;
et ainsi de suite jusqu'à i = 13 : écart entre les positions 12 et 14.
En python, le range est un itérateur qui n'inclut pas la borne de droite : range(1,14) correspond à la séquence 1,2,3,...,13.
Du fait de la construction de ta liste, tu ne peux pas avoir d'itération supplémentaire puisque la dernière fait le calcul entre les positions 12 et 14, et 14 est la dernière position de la liste.
Est-ce plus clair ?
tu as réussi sur Basthon ou sur Trinket ?
ta liste contient 15 valeurs, qui sont repérées par les indices de 0 à 14.
Comme tu calcules ton vecteur vitesse de proche en proche en faisant un écart entre deux positions :
Code : Tout sélectionner
vx=((x[i+1])-(x[i-1]))/(2*dt)
vy=((y[i+1])-(y[i-1]))/(2*dt)
puis tu passes à l'indices suivant : i = 2, écart entre les positions 1 et 3;
et ainsi de suite jusqu'à i = 13 : écart entre les positions 12 et 14.
En python, le range est un itérateur qui n'inclut pas la borne de droite : range(1,14) correspond à la séquence 1,2,3,...,13.
Du fait de la construction de ta liste, tu ne peux pas avoir d'itération supplémentaire puisque la dernière fait le calcul entre les positions 12 et 14, et 14 est la dernière position de la liste.
Est-ce plus clair ?