#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
TP diffraction  ELEVE 
"""

#importation des bibliothèques 
import numpy as np #pour la manipulation des tableaux
import matplotlib.pyplot as plt #pour le tracé de graphiques 

#données expérimentales
L=np.array([ ]) #compléter avec vos valeurs de longeur de taches centrales en m
d=np.array([ ])#compléter avec valeurs de largeur de fentes en m

y=              #expression des ordonnées en fonction des données A COMPLETER
x=              #expression des abcisses en fonction des données  A COMPLETER

# tracé de y en fonction de x
plt.figure(1)
plt.plot(x,y,'b+', label='nuage de points expérimentaux') #tracer y en fonction de x en bleu avec des croix +
plt.xlabel('   ')  #titre des abcisses A COMPLETER
plt.ylabel(' ')#titre des ordonnées A COMPLETER
plt.legend() #pour afficher la légende
plt.grid() #rajouter un quadrillage
plt.show() #afficher le graphe

# Régression linéaire de y en fonction de x : équation y = p [0]* x + p [1]
p = np . polyfit (x , y , 1) 
#renvoie une liste p dont la première valeur p[0] est la pente de la droite et la deuxième valeur p[1] est l’ordonnée à l’origine.

a = p [0] # pente de la droite (coefficient directeur)
b = p [1] # ordonnée à l ’ origine

#tracé de la courbe de regression sur le nuage de points.
plt.figure(2)
plt.plot(x,y,'b+',label='nuage de points expérimentaux') #tracer y en fonction de x en bleu avec des croix 
plt.plot (x , np.polyval(p,x),label='régression linéaire') # Tracé de la droite de régression (p en fonction de x )
plt.xlabel(' 1/d en $m^{-1}$ ')  #titre des abcisses 
plt.ylabel(' L en m ')#titre des ordonnées 
plt.legend() #pour afficher la légende
plt.grid() #rajouter un quadrillage
plt.show() #afficher le graphe

print("Résultats d'une regression linéaire:", 'a=',a,'b=',b)