commit 004f3ab8628c9b78c996233662095bb1887ad2f0 Author: √(noham)² Date: Tue Jul 18 16:20:23 2023 +0200 Initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/modelv.py b/modelv.py new file mode 100644 index 0000000..cbe6dcd --- /dev/null +++ b/modelv.py @@ -0,0 +1,54 @@ +import numpy as np +import matplotlib.pyplot as plt +import time + +t0 = 0 +tf = 20 +# tf=3 +dt = 0.5 +t = t0 + + +U = 1.25 # vitesse m.s-¹ +Wm = 0.3 # distance minimale entre la voiture et celle qui la précède m +Ws = 0.9 # m + +def phi(ww): # prend en entrée la distance entre les deux véhicules + PHI = (U*(1 - np.exp(- (ww-Wm)/Ws))) + return (ww >= Wm)* PHI # retourne la vitesse du véhicule + +y = np.linspace(0, 0, 11) +xxbase = np.linspace(0, 1, 11) + +def position(fposition, newv): + newp = fposition + newv * dt + return newp + +def vitesses(fposition): + dist = np.diff(fposition) + vitesses = phi(dist) + newv = np.insert(vitesses, 10, 1.25) + return newv + +xxold = xxbase.copy() + +while(t= Wm)* PHI # retourne la vitesse du véhicule + +y = np.linspace(1, 1, nbv) +xxbase = np.linspace(0, 1, nbv) + +def distances(fposition): + # print('fposition', fposition) + dist = np.diff(fposition) + inter = fposition[0]+20-fposition[-1] + newdist = np.insert(dist, len(dist), inter) + return newdist + +def position(fposition, newv): + newp = fposition + newv * dt + return newp + +xxold = xxbase.copy() + +while(t= Wm)* PHI # retourne la vitesse du véhicule + +y = np.linspace(1, 1, nbv) +xxbase = np.linspace(0, 1, nbv) + +def distances(fposition): + # print('fposition', fposition) + dist = np.diff(fposition) + inter = fposition[0]+20-fposition[-1] + newdist = np.insert(dist, len(dist), inter) + return newdist + +def position(fposition, newv): + newp = fposition + newv * dt + return newp + +xxold = xxbase.copy() +while t<0: + plt.figure(1,figsize=[16,9]) + plt.clf() + + plt.draw() + plt.pause(1 ) + print(t) + t += 2*dt + +while(t= Wm)* PHI # retourne la vitesse du véhicule + +y = np.linspace(0, 0, 11) +xxbase = np.linspace(0, 1, 11) + +def position(fposition): + dist = np.diff(fposition) + vitesses = phi(dist) + newv = np.insert(vitesses, 10, 1.25) + newp = fposition + newv * dt + return newp + +xxold = xxbase.copy() + +while(t= Wm)* PHI + +plt.figure(figsize=[16,9]) +plt.xlabel('distance w en m') +plt.ylabel('vitesse en m.s-¹') +plt.plot(ww, phi(ww)) +plt.savefig('phi(ww).png', dpi=300) +plt.show() \ No newline at end of file diff --git a/test/polaire.py b/test/polaire.py new file mode 100644 index 0000000..450bd1f --- /dev/null +++ b/test/polaire.py @@ -0,0 +1,59 @@ +import numpy as np +import matplotlib.pyplot as plt +import time + +t0 = 0 +tf = 100 +dt = 0.5 +t = t0 + +U = 1.25 # vitesse m.s-¹ +Wm = 0.3 # distance minimale entre la voiture et celle qui la précède m +Ws = 0.9 # m + +def phi(ww): # prend en entrée la distance entre les deux véhicules + PHI = (U*(1 - np.exp(- (ww-Wm)/Ws))) + return (ww >= Wm)* PHI # retourne la vitesse du véhicule + +y = np.linspace(1, 1, 11) +xxbase = np.linspace(0, 1, 11) + +def position(fposition, newv): + newp = fposition + newv * dt + return newp + +def vitesses(fposition): + print('fposition', fposition) + dist = np.diff(fposition) + print('distance : ', dist) + vitesses = phi(dist) + newv = np.insert(vitesses, 10, 1.25) + return newv + +xxold = xxbase.copy() + +while(t