Etape 6 : Calcul des coordonnées d’un vecteur vitesse¶
Notions abordées
Boucle for
Ajout d’une valeur dans une liste
Parcours des valeurs d’une liste
Longueur d’une liste
Création et intérêt d’une fonction
Références pyspc
Consigne :
Etudier les programmes ci-dessous puis effectuer la mise en situation présentée dans la dernière cellule.
Télécharger le pdf
|
Télécharger le notebook
|
Lancer le notebook sur binder (lent)
Etude préliminaire
Exécuter la cellule ci-dessous puis analyser ce qu’elle renvoie afin de comprendre les différentes instructions posées.
[1]:
Liste=["a",11,12,13,14,15,"b",17,18,"c"]
print(Liste)
print('')
print("nombre d'éléments dans la liste=",len(Liste))
print('\n')
print(Liste[0])
print(Liste[3],'\n')
for i in range(10):
print(i,'',Liste[i])
print('\n')
for i in range (2,9):
print(i,'',Liste[i])
Liste.append("d")
print("")
print(Liste)
['a', 11, 12, 13, 14, 15, 'b', 17, 18, 'c']
nombre d'éléments dans la liste= 10
a
13
0 a
1 11
2 12
3 13
4 14
5 15
6 b
7 17
8 18
9 c
2 12
3 13
4 14
5 15
6 b
7 17
8 18
['a', 11, 12, 13, 14, 15, 'b', 17, 18, 'c', 'd']
Exécuter maintenant les deux cellules ci-dessous afin de comprendre comment créer puis appeler une fonction.
[2]:
# Création de la fonction f dont les paramètres d'entrée ordonnés
# sont x et y et qui retourne le paramètre de sortie z
def f(x,y):
z=2*x+y
return z
[3]:
# Différents appels possibles de la fonction
u=f(2,3)
print(u)
toto=3
titi=4
v=f(toto,titi)
print (v)
# ci-dessous, la valeur retournée par la fonction est affichée
# mais n'est pas affectée à une variable et ne peut
# donc pas être réutilisée plus loin dans le programme
print (f(titi,toto))
7
10
11
Détermination des coordonnées d’un vecteur vitesse
[4]:
# Création des listes contenant les valeurs du temps
# et des coordonnées du vecteur position
t=[0.0, 0.04, 0.08, 0.12, 0.16, 0.2, 0.24, 0.28, 0.32,
0.36, 0.4, 0.44, 0.48, 0.52, 0.56, 0.6, 0.64, 0.68, 0.72]
x=[-0.003, 0.065, 0.140, 0.214, 0.287, 0.362, 0.435,
0.514, 0.584, 0.663, 0.739, 0.815, 0.890, 0.9662,
1.039, 1.115, 1.191, 1.270, 1.340]
y=[0.0, 0.143, 0.267, 0.376, 0.472, 0.553, 0.618,
0.666, 0.694, 0.713, 0.713, 0.696, 0.660, 0.618,
0.553, 0.469, 0.374, 0.261, 0.135]
[5]:
# Création d'une liste contenant les valeurs de
# la coordonnée vx du vecteur vitesse
vx=[]
for i in range (len(x)-1):
vxi=(x[i+1]-x[i])/(t[i+1]-t[i])
vx.append(vxi)
print(vx)
[1.7000000000000002, 1.8750000000000002, 1.8499999999999999, 1.8249999999999993, 1.875, 1.825000000000001, 1.9749999999999985, 1.7499999999999996, 1.9750000000000028, 1.8999999999999972, 1.9, 1.8750000000000027, 1.9049999999999967, 1.8199999999999978, 1.9000000000000052, 1.9, 1.9749999999999972, 1.7500000000000049]
[6]:
# Création d'une liste contenant les valeurs
# de la coordonnée vy du vecteur vitesse
vy=[]
for i in range (len(y)-1):
vyi=(y[i+1]-y[i])/(t[i+1]-t[i])
vy.append(vyi)
print(vy)
[3.5749999999999997, 3.1000000000000005, 2.725, 2.399999999999999, 2.0250000000000012, 1.6249999999999996, 1.2, 0.6999999999999982, 0.47500000000000064, 0.0, -0.4250000000000006, -0.8999999999999985, -1.05, -1.6249999999999973, -2.100000000000006, -2.3749999999999973, -2.824999999999997, -3.150000000000006]
Mise en situation
Faire une copie de ce notebook puis modifier le programme en créant une fonction permettant d’éviter la répétition des lignes de code lors du calcul des coordonnées du vecteur vitesse