Les mesures expérimentales réalisées en travaux pratiques nécessitent souvent une exploitation graphique afin de mieux appréhender l’ensemble des résultats. Pour nous y aider, nous disposons d’outils comme les tableurs (Excel, Calc…), le logiciel LatisPro et le langage de programmation Python.
Objectifs en classe de terminale
A voir dans ce cours
Autres cours à consulter
Capacités et compétences travaillées
- Lire et construire un algorithme (python)
- Modifier un algorithme (python)
Les bibliothèques utiles tracer une courbe et son modèle
Mathplotlib : la bibliothèque pour tracer des graphiques
import matplotlib.pyplot as plt
plt est le diminutif de mathplotlib.pyplot lorsque nous appellerons des fonctions propres à cette bibliothèque qui permet de tracer de nombreux graphiques :
- plt.plot (X, Y, -rx) : permet de tracer le graphique y = f(x) avec des croix bleues.
- plt.title (« Texte ») : donne un titre au graphique.
- plt.xlabel (« Texte ») : permet de nommer l’axe des abscisses X.
- plt.ylabel (« Texte ») : permet de nommer l’axe des ordonnées Y.
- plt.show () : Affiche le graphique.
Pour aller plus loin
Si vous souhaiter customiser davantage votre graphique, reportez vous à cette page web :
Numpy et Scipy.stats : les bibliothèques pour la régression linéaire
import numpy as np
np est le diminutif de numpy lorsque nous appellerons des fonctions propres à cette bibliothèque qui permet de effectuer des calculs numériques :
- np.array (liste) : permet de convertir les listes en tableaux afin d’effectuer des calculs à l’intérieur.
import scipy.stats as stats
stats le diminutif de scipy.stats lorsque nous appellerons des fonctions propres à cette bibliothèque qui permet de calculer des valeurs statistiques :
- stats.linregress (liste) : permet de renvoyer 5 valeurs : le coefficient directeur a, l’ordonnée à l’origine b, le coefficient de corrélation R2, la p_value (??) et l’écart type.
Pour aller plus loin
Si vous souhaiter davantage de fonctions pour calculer des statistiques, reportez vous à ces pages web.
Tracer la courbe et son modèle
Soit la situation suivante :
Une élève décide de tester la loi d’Ohm qui nous dit : « la tension U aux bornes d’un conducteur ohmique est proportionnelle à l’intensité I qui le traverse ». Sa série de mesure est consignée dans le tableau ci-dessous.
A l’aide de la simulation d’expérience « Neticiel python » ci-dessous ou de votre logiciel ou application python, tracer la courbe et la régression linéaire de ces série de mesure.
Néticiel python
Ce neticiel proposé par trinket.io vous permet d’écrire ou de coller votre code python à gauche puis de le tester / exécuter en appuyant sur la flèche.
Etape 1 : Importer les bibliothèques présentées précédemment.
import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as stats
Etape 2 : Traduire sous forme de liste les mesures expérimentales ; nommer judicieusement les listes.
U = [ 1.4, 3.7 , 5.5 , 7.7 , 9.6 ]
I = [ 0.8 , 2.0 , 2.8 , 3.8 , 4.5 ]
Etape 3 : Vous devez convertir les listes précédentes en tableau en utilisant la fonction : np.array(liste)
U = np.array (U)
I = np.array (I)
Etape 4 :
- Utiliser la fonction stats.linregress(tableau) pour calculer les différents paramètres de la régression linéaire (voir détails plus haut).
- Avec la fonction print(), vous pouvez les afficher sur la console.
(a, b, R2, _, uA ) = stats.linregress (x, y)
print (a, b, R2, _, uA )
Etape 5 : Ecrire l’équation de la droite affine qui modélisera notre courbe.
ymodele = a*x + b
Etape 6 :
- Créer le graphique avec U en ordonnée et I en abscisse.
- Ajouter sur ce même graphique la droite modèle.
- Afficher le graphique.
plt.plot ( x, y, 'ro')
plt.plot ( x, ymodele , 'b+:')
plt.show()