Ajout de la doc
This commit is contained in:
parent
568e7f0535
commit
6d22230186
21
simul.py
21
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()
|
||||
|
|
Loading…
Reference in New Issue