diff --git a/simul.py b/simul.py index 771129d..c5cc4db 100644 --- a/simul.py +++ b/simul.py @@ -1,8 +1,14 @@ import numpy as np import matplotlib.pyplot as plt -# tracé pour alpha et la valeur de l'acceleration données +""" Dans les fonctions qui vont suivre: + alpha désigne le coefficient de friction du milieu + accel désigne la force à laquelle on soumet au solide en plus des frottements (à multiplier par la masse pour avoir l'intensité de la force) + vinit désique la vitesse initiale pour t = 0 + masse désigne la masse de l'objet: dans le cas d'un personnage, la mettre à un pour simplifier + """ +# vmax: Détermine la vitesse "stable" pour une masse, accélération et coefficient de friction donnés def vmax(alpha, accel, masse): return masse * accel / alpha @@ -20,7 +26,7 @@ def calc(alpha, accel, vinit, masse): y = vinit * np.exp( - x * alpha/masse ) + masse * accel / alpha * ( 1 - np.exp( - x * alpha/masse ) ) return x,y -# simulation d'acceleration puis de décéleration déterminant les différentes valeurs de reponse +# siml: Simulation d'acceleration puis de décéleration en déterminant les différentes valeurs de reponse, puis affichage sur un zoli graphique def simul(alpha = 0.1, accel=5, masse=1): print("Simulation pour [ alpha={}, accel={}m.s-2, masse={}kg ]".format(alpha,accel,masse)) print("Accélération:") @@ -29,7 +35,7 @@ def simul(alpha = 0.1, accel=5, masse=1): vitesse_max_theorique = masse * accel/alpha vitesse_max_pratique = y_phase1[-1] temps_rep99 = x_phase1[-1] - print("\tVitesse max théorique :", y_phase1[-1]) + print("\tVitesse max théorique :", vitesse_max_theorique) print("\tPour t =", temps_rep99, "la vitesse vaut ~99% de la vitesse max théorique: v =", vitesse_max_pratique) print("Décélération:") @@ -37,7 +43,8 @@ def simul(alpha = 0.1, accel=5, masse=1): print("Pour t =", temps_rep99, ", la vitesse a chuté d'environ 99%.") plt.plot(x_phase1.tolist() + (x_phase2+x_phase1[-1]).tolist(), y_phase1.tolist() + y_phase2.tolist()) -# Exemple: application pour différents coefficients de friction avec une accélération constante -for i in np.linspace(0.1,1,10): - simul(alpha=i, accel=1, masse=1) -plt.show() +# Exemple: application pour différents coefficients de friction avec une accélération et masse constante +def example(): + for i in np.linspace(0.1,1,10): + simul(alpha=i, accel=1, masse=1) + plt.show()