Etape 5 : Activité : Correction : Modélisation d’un mouvement parabolique

Télécharger le pdf | Télécharger le notebook | Lancer le notebook sur binder (lent)

[1]:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
[2]:
# Création des tableaux de valeurs avec la bibliothèque numpy

t=np.array([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=np.array([-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=np.array([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])

Ecrire ci-dessous les lignes de code permettant d’afficher sur un même graphique les courbes x=f(t) et y=f(t)

[3]:
# Reprise du programme vu précédemment
fig = plt.figure(figsize=(12,10))
plt.plot(t,y,'r+',label='y=f(t)')
plt.plot(t,x,'.b',label='x=f(t)')
plt.legend()
plt.xlabel("temps t (s)")
plt.ylabel("coordonnée (m)")
plt.grid()
plt.title("Evolution des coordonnées au cours d'un mouvement parabolique")
plt.show()
../_images/etape_05_mvt_parabolique_modelisation_correction_5_0.png

Ecrire ci-dessous les lignes de code permettant de modéliser correctement la courbe y=f(t) et de créer une liste contenant le modèle.

[4]:
coeff=np.polyfit(t, y,2)

# Affichage du tableau coeff
print(coeff)

# Affichage des valeurs contenues dans le tableau avec une décimale
print ('{0:.1f}'.format(coeff[0]),
       '{0:.1f}'.format(coeff[1]),
       '{0:.1f}'.format(coeff[2]))

# Création puis affichage d'un tableau Ymodel regroupant les valeurs de la
# coordonnée y modélisée par une fonction polynôme de degré 2.
Ymodel = coeff[0]*t**2+coeff[1]*t+coeff[2]

[-4.97991302e+00  3.77571281e+00 -2.13984962e-03]
-5.0 3.8 -0.0

Ecrire ci-dessous les lignes de code permettant d’afficher la courbe y=f(t) ainsi que la courbe du modèle.

[8]:
fig = plt.figure(figsize=(12,10))
plt.plot(t,y,'r+',label='y=f(t)')
plt.plot(t,Ymodel,'b:',label='modèle parabolique')
plt.legend()
plt.xlabel("temps t (s)")
plt.ylabel("coordonnée (m))")
plt.grid()
plt.title("Evolution des coordonnées au cours d'un mouvement parabolique")
plt.show()
../_images/etape_05_mvt_parabolique_modelisation_correction_9_0.png