#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# ====================================================================
# 2C16 Activité 6 Confirmé
# Programme permettant de représenter et de modéliser
# la caractéristique U=f(I) d'une photorésistance 
# ====================================================================

import numpy as np                        
from matplotlib import pyplot as plt      

# Définition de 2 listes pour les 2 variables U et I
U=[0.0, ............................]    # U (en V)
I=[0.00, ............................]   # I (en mA)

# Affichage du nuage de points de coordonnées (I,U): U=f(I)                 
plt.figure('Etude d\'une photorésistance')  # Initialise la figure
...................                         # Titre du graphe
...................                         # Légende axe I
...................                         # Légende axe U
...................                         # Min et max des axes
plt.plot(.?.,.?.,.?.,.?.,label='U=f(I) exp')# Trace le nuage de points
                                            # '+' rouge de taille 10

# Modélisation du nuage de points par la droite d'équation U_mod=a*I+b

# Calcule les coefficients de la droite modélisant le nuage
# de points et les range dans un tableau nommé Modele
....?.... = np.polyfit(..?.., ..?.., ..?..)

# Affecte les coefficients du modèle aux variables a et b               
..?.., ..?.. = [coef for coef in ..?..]
          
# Pour chaque valeur i de l'intensité, calcule l'ordonnée donnée par
# la modélisation et range les ordonnées dans une liste appelée U_mod
..?.. = [...?... for ..?.. in I] 

# Trace les points de coordonnées I et U_mod en bleu et reliés             
plt.plot(.?.,.?.,.?.,label='U=f(I) modélisé')

# Affiche l’équation de la droite en arrondissant les coefficients a et b
# à 1 chiffre après la virgule et en précisant les unités de I et U
print('Expression du modèle')
if(round(b,1)==0.0):                
    print('fonction ...... : U (...) = ',round(.?.,1),'x I (...)')
else:    
    print('fonction affine : U (...) = ',..?..,'x I (...) +(',..?..,')')  

............                  # Affiche une grille
............                  # Affiche la légende
............                  # Affiche la figure






