import numpy as np
import matplotlib.pyplot as plt
# Les valeurs mesurées expérimentalement constituent des couples de points (Xexp, Yexp) que l'on cherche à exploiter afin de déterminer un modèle polynomial
# On crée une 1ère liste avec les valeurs de x mesurées expérimentalement (Xexp)
Xexp = np.array([0, 2, 4, 6, 8, 10])
# On crée une 2ème liste avec les valeurs de y mesurées expérimentalement (Yexp)
Yexp = np.array([0.5, 1.8, 3.7, 6.2, 8, 9.8])
# polyfit est une fonction de la bibliothèque numpy qui permet d'obtenir les paramètres de modélisations polynomiales. On souhaite ici une modélisation de degré 1, correspondant à une régression linéaire
p = np.polyfit(Xexp,Yexp,1) # Les arguments de polyfit sont la liste en abscisses, la liste en ordonnées et le degré du polynôme
Ymod = p[0]*Xexp + p[1] # Calcul du modèle, p[0] est la pente, p[1] est l'ordonnée àl'origine
plt.close()
# On place sur un même graphique les points mesurés et la courbe représentatrice du modèle polynomial, ici modèle linéaire
plt.plot(Xexp,Yexp,'o')
plt.plot(Xexp,Ymod,'r')
plt.title("Régression linéaire ...") # titre du graphique
plt.xlabel("Abscisses : ..., unité : ...") # Grandeur et unité des abscisses X
plt.ylabel("Ordonnées : ..., unité : ...") # Grandeur et unité des ordonnées Y
print(f'Coef dir : {p[0]} (en unitéY/unitéX)') # Renvoie le coefficient directeur du modèle linéaire
print(f'Ord origine : {p[1]} (en unitéY)') # Renvoie l'ordonnée à l'origine du modèle
plt.show()# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

