Bonjour,
J'ai un devoir à réaliser en sciences de l'ingénieur et pour cela, j'ai besoin d'utiliser python, voici mon sujet et problème:
J'ai réalisé des mesures d'angles et de déplacements (4000 valeurs chacune...) que j'ai rangé des listes. Par la suite, j'avais besoin d'avoir un graphique de rotation et de vitesse : j'ai donc utilisé la méthode d'Euler afin de créer une fonction pour dériver les valeurs de mes listes et tracer le graphique que j'attendais.
J'ai ensuite réalisé une regression linéaire à l'aide SciPy (que nous n'avons pas réellement étudié en cours) et récupéré le coefficient directeur de la droite qui m'intéressait.
Mon but final était donc d'avoir la valeur du coefficient directeur de mon graphique de rotation en fonction de la vitesse.
Pour approfondir mon travail, mon professeur m'a suggéré de réaliser 2 nouvelles courbes explicitant le coefficient directeur de la droite passant par le maximum et une autre par le minimum de ma fonction.
Or j'ai tenté plusieurs choses, en vain. La courbe n'affiche qu'un point ou pas de point, et par conséquent, ma régression linéaire ne mène a rien... J'ai ajouté donc à une liste les valeurs maximales et le premier couple de points afin d'avoir 2 points.
Je ne sais pas si j'ai correctement expliqué mon problème mais voici donc le programme brut (qui n'est surement pas optimal mais je débute en python):
PROGRAMME:
# Modélisation du graphique
import scipy.stats as sc
droite=sc.linregress(D,A)
coefficient=droite.slope
print("coefficient directeur :",coefficient)
def maximum(liste):
maxi = liste[0]
for i in liste:
if i >= maxi:
maxi = i
return (maxi)
def minimum(liste):
mini = liste[0]
for i in liste:
if i <= mini:
mini = i
return (mini)
print("max angle:",maximum(angle)), print("max déplacement:",maximum(deplacement))
print("min angle:",minimum(angle)), print("min déplacement:",minimum(deplacement))
maxangle=[maximum(angle),-39.9731]
maxdeplacement=[maximum(deplacement),33.6499]
minangle=[minimum(angle),-39.715]
mindeplacement=[minimum(deplacement),33.6109]
B,C=derivee(maxdeplacement,maxangle)
X,Y=derivee(mindeplacement,minangle)
#plt(Y,X,'o')
#droite2=sc.linregress(C,B)
#coefficient2=droite2.slope
#print("coefficient directeur :",coefficient2)
Merci d'avance