Représentation de l'évolution de grandeur physique : Tracé de la caractéristique

Durée estimée

Pour cette partie, compter 20 minutes dans l'hypothèse où les élèves ont déjà utilisé en maths la librairie matplotlib

Tracé de la caractéristique u = f(i)

Avec Geogebra

Importer le fichier de données (mesures) dans le tableur de Geogebra

Sélectionner les données des deux premières colonnes (i et u) et créer une liste de points à partir de ces mesures.

Dans la fenêtre "graphique", observer le nuage de points.

Dans quel intervalle varie l'intensité du courant dans le dipôle ?

L'élève identifie une situation de proportionnalité.

Caractéristique u = f(i) - valeur de référence \(1\;k\Omega\)

MéthodeAvec un langage de programmation - version de base

Créer un nouveau programme Python dans le dossier initial.

Importer les modules nécessaires à la représentation du nuage de points.

Charger les mesures

1
import matplotlib.pyplot as plt
2
import numpy as np
3
4
#On charge les mesures en excluant la ligne d'entêtes
5
i, u = np.loadtxt('mesures/fichier_R1000_n50.txt', delimiter=',', skiprows=1, unpack='true')

Définir le titre du graphique, le titre des axes (grandeurs et unités), les valeurs maximales définissant la fenêtre.

1
titre = "Caractéristique courant/tension d'un dipôle ohmique"
2
titreX = "intensité en mA"
3
titreY = "tension en V"
4
i_max = 5
5
u_max = 5

Utiliser la librairie matplotlib pour générer le graphique

1
# Nuage de points à partir des première et deuxième colonnes du fichier texte
2
# On convertit l'intensité en mA
3
4
plt.scatter(1000*i, u, marker='+')	#nuage de points à partir des première et deuxième colonnes du fichier texte
5
plt.title(titre)
6
plt.xlabel(titreX)
7
plt.ylabel(titreY)
8
plt.axis([0,i_max,0,u_max])
9
plt.show()
10
plt.close()

Exécuter le programme.

ComplémentQuelques améliorations envisageables pour les élèves ayant une bonne maîtrise de Python

Déterminer les fenêtres du graphique de façon automatique.

1
#arrondi au milliampère supérieur de la valeur maximale de i
2
i_max = np.ceil(1000*np.max(i))
3
4
#arrondi au volt supérieur de la valeur maximale de u
5
u_max = np.ceil(np.max(u))

Enregistrer la caractéristique dans un fichier image. Pour cela, créer la fonction ci-dessous et l'appeler avant plt.show()

1
#sauvegarde du fichier image de la caractéristique u = f(i)
2
def fichImage(ref, nb):
3
	image = "mesures/caracteristique_R" + str(int(ref)) + "_n"+str(nb)+".png"
4
	plt.savefig(image, dpi=300)
5
	return(0)