1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # Solution du problème masse/ressort à l'aide de l'intégration d'Euler
from pylab import *
k = 10.0 # constante de raideur du ressort
m = 1.0
dt = 0.01
t = 0
x = 2.0
v = 0.0
ta = [t] # liste pour le temps et la date de début
xa = [x] # liste des déplacements, x = 2 à t= 0
va = [v] # liste des vitesses, v=0 à t=0
while t < 5:
f = -k * x
v = v + (f/m) * dt # a = F/m; a = dv/dt
x = x + v * dt # v = dx/dt
t = t + dt
ta.append(t)
xa.append(v)
va.append(x)
plot(ta, xa)
plot(ta, va)
show()
|