# chute libre - méthode d'Euler import numpy as np import matplotlib.pyplot as plt g=9.81 f=1e-3 h=10000 # altitude initiale, z=0 au sol dt=1 # "pas" de temps ici 1 s t=0 # conditions initiales vz=0 z=h lt=[t] # premier élément des listes temps, vitesse... lz=[z] lvz=[vz] # calcul par Euler simple... while z>0: # tant que la masse n'est pas au sol vz=vz+(-g+f*vz**2)*dt # Euler z=z+vz*dt t=t+dt lt.append(t) # on enregistre dans des listes lvz.append(vz) lz.append(z) # graphes... plt.figure(figsize=(15,7)) plt.plot(lt,lvz) titre="Vitesse projetée sur l'axe Oz au cours du temps" plt.title(titre) plt.ylabel("m/s") plt.xlabel("s") plt.grid() plt.show() plt.figure(figsize=(15,7)) plt.plot(lt,lz) titre="Altitude au cours du temps" plt.title(titre) plt.ylabel("m") plt.xlabel("s") plt.grid() plt.show()