Vous êtes sur la page 1sur 10

TP 0 PCSI 3

TP 0: Mesures et incertitudes
Capacités exigibles

2022/2023 C. Gouiller 1 / 10
TP 0 PCSI 3

1 Variabilité de la mesure d’une grandeur physique


1.1 Variabilité en science expérimentale
La science de la mesure s’appelle la métrologie. Le processus d’attribution d’une valeur expérimentale à une
grandeur physique x s’appelle le mesurage. Même en prenant toutes les précautions possibles, la répétition du
mesurage d’une même grandeur présente une variabilité. Cette variabilité résulte de l’opérateur, de l’environne-
ment de travail, des instruments utilisés et de la méthode de mesure choisie.
On considère désormais que le résultat d’une mesure n’est pas une valeur unique mais un ensemble de valeurs
numériques, raisonnablement attribuables à la grandeur d’intérêt.

1.2 Incertitude-type
En pratique, la répétition d’une mesure produit des valeurs qui varient aléatoirement autour d’une valeur
centrale, appelée valeur mesurée et notée xmes . L’incertitude-type, notée u(x), est une mesure de cette
variabilité (u pour uncertainty). Par définition, l’incertitude-type correspond à l’écart-type de la distribution
des données issues d’une répétition de la mesure. Il n’y a pas de raison de privilégier une mesure plutôt qu’une
autre. Toutes les valeurs de l’intervalle xmes ± u(x) = [xmes − u(x); xmes + u(x)] peuvent raisonnablement être
attribuées à la grandeur mesurée. L’incertitude-type relative ur (x) s’exprime en pourcentage de la valeur
u(x)
mesurée : ur (x) = .
xmes

1.3 Interprétation de l’incertitude-type


Soit un ensemble de N mesures notées xi avec i allant de 1 à N . On définit alors
v deux grandeurs mathématiques :
N N
1 X u 1 X
u
la moyenne ⟨x⟩ = xi et l’écart-type donc l’incertitude-type u(x) = t (xi − ⟨x⟩)2 .
N i=1 N − 1 i=1
Il est à noter qu’il n’y a qu’une incertitude-type u(x) pour l’ensemble des mesures xi et non pas une pour
chacune. En effet, l’incertitude-type caractérise la variabilité d’un processus de mesure et donc toutes les mesures
issues de ce processus ont logiquement la même incertitude-type. u(x) représente un bon ordre d’idée de l’écart
entre deux mesures x1 et x2 issues du même processus.
Python : La bibliothèque numpy permet de calculer la moyenne et l’écart-type grâce aux fonctions
np.mean(data) et np.std(data, ddof = 1), à condition de stocker la série de données dans le tableau numpy
nommé data : data = np.array([..., ...]).

2 Évaluation de la valeur mesurée et de l’incertitude-type


2.1 Évaluation de type A
Lorsque la variabilité des mesures est accessible, on répète un grand nombre de fois le processus de mesure
pour estimer u(x), l’incertitude-type sur une mesure unique. L’expérience n’est plus « mesurer un point à l’aide
d’un protocole » mais « mesurer la moyenne de N points effectués avec le même protocole ». Cette expérience
est différente et a pour incertitude-type l’incertitude-type de la moyenne. L’intérêt de la moyenne est que
sa variabilité est bien plus faible que celle d’une mesure unique. Pour estimer l’incertitude-type de la moyenne,
il faut reproduire un grand nombre de fois l’expérience et calculer l’écart-type de la distribution obtenue. Or
chaque expérience est déjà la reproduction de la mesure unique d’un grand nombre de fois, cela devient donc

2022/2023 C. Gouiller 2 / 10
TP 0 PCSI 3

très vite chronophage. Heureusement, il existe une formule mathématique simple permettant d’estimer cet écart-
type. On réalise N fois le même protocole pour obtenir N valeurs de mesure xi . On note u(x) l’incertitude-type
sur une mesure unique qui est l’écart-type de cet ensemble de mesures. Pour la valeur mesurée, on prend la
1 X
moyenne des valeurs mesurées : xmes = ⟨xi ⟩ = N xi . Le résultat de l’expérience est xmes ± u(⟨x⟩) avec
N i=1
u(x)
u(⟨x⟩) = √ , incertitude-type de la moyenne. Ainsi, en une série de mesure, on obtient les points expérimentaux,
N
leur incertitude-type, la moyenne de ces points et l’incertitude-type sur la moyenne.

2.2 Évaluation de type B


Certaines expériences ne peuvent en pratique être répétées plusieurs fois. Dans ce cas, si on ne peut faire la
mesure qu’une fois (mesure d’une tension au voltmètre), la valeur mesurée est alors bien sûr celle donnée par cette
unique mesure. Il faut alors estimer l’incertitude-type de cette mesure unique théoriquement sans l’observer et
s’adapter à chaque cas. On estime la plus petite plage dans laquelle l’expérimentateur est certain de trouver la
valeur recherchée. On note xmes la valeur centrale de cette plage et on appelle précision, notée ∆, sa demi-largeur.
L’expérimentateur est certain de trouver la valeur recherchée dans l’intervalle [xmes − ∆; xmes + ∆]. Toutes les
valeurs de cet intervalle sont équiprobables (probabilité uniforme). On détermine ensuite l’incertitude-type par la

relation : u(x) = √
3

Exemple(s)
➢ Si on lit des graduations ou un affichage avec un pas d’affichage (règle graduée, burette, balance, etc),
∆ 0, 5
la précision vaut ∆ = 0, 5 graduation ou 0, 5 digit et l’incertitude-type vaut u(x) = √ = √ = 0, 29
3 3
graduation.
∆ t
➢ Si l’appareil donne une tolérance t, ∆ = t (pipette jaugée) et u(x) = √ = √ .
3 3
➢ On peut avoir une incertitude de pointage, due à la difficulté d’observation : les valeurs possibles sont
xmax − xmin
dans un intervalle [xmin ; xmax ]. La précision est alors le demi-intervalle ∆ = et correspond
2
∆ xmax − xmin
à une évaluation personnelle. On prend pour incertitude-type : u(x) = √ = √
3 2 3
➢ Pour les appareils de mesure numériques (voltmètre, ampèremètre, etc), il faut consulter la notice de
l’appareil. Le plus souvent, les notices ne précisent pas clairement la nature de la valeur de la précision
fournie (est-ce une incertitude-type ? un intervalle ? un écart-type ?). Dans ce cas, on suppose que
l’incertitude donnée dans la notice est la précision ∆. Souvent, la notice de l’appareil de mesure indique
pour la précision un pourcentage P de la valeur lue et un nombre n de digit (un digit correspond au
dernier chiffre affiché). ∆ = P × valeur lue +n digit
Exemple : Sur la notice d’un multimètre numérique utilisé en voltmètre DC sur le calibre 5 V, on lit
« Accuracy : 0, 3 rdg + 2 digits » (rdg signifie reading). Pour une valeur lue de 2,5462 V, le dernier
digit est 1 × 10−4 donc la précision vaut : ∆ = 0, 003 × 2, 5462 + 2 × 1 × 10−4 = 0,007 838 6 V et
0, 0078386
l’incertitude-type vaut u(V ) = √ = 0,0045 V.
3

Parfois, il y a plusieurs sources d’incertitudes. Il faut alors les combiner.

2022/2023 C. Gouiller 3 / 10
TP 0 PCSI 3

Exemple(s)
Pour une burette, la tolérance est notée t. On cherche l’incertitude-type sur le volume V .
t
➢ Le bas du ménisque tombe sur une graduation : u(V ) = √ . Idem pour une pipette jaugée.
3
s 2 2
t a

➢ Le bas du ménisque tombe entre deux graduations distantes d’un pas a : u(V ) = √ + √ .
3 2 3
s 2 2
t V2 − V1

➢ Si on a une zone de virage entre deux volumes V1 et V2 , Vmes = V1 +V2
et u(V ) = √ + √ .
2
3 2 3

Remarque(s)
2 2
t V2 − V1
 
Souvent, le terme √ est négligeable devant √ .
3 2 3

En conclusion, il faut toujours bien réfléchir à la façon la plus pertinente d’évaluer l’incertitude et vérifier la
cohérence de la valeur qu’on obtient.

2.3 Incertitude composée


Si on calcule une grandeur x en fonction de grandeurs mesurées (a, b), l’incertitude-type u(x) dépend de u(a)
et de u(b).
➢ Pour x = a + b ou x = a − b : u(x) = u(a)2 + u(b)2 .
p

s 2 2
a u(x) u(a) u(b)

➢ Pour x = ab ou x = : = + ⇔ ur (x) = ur (a)2 + ur (b)2 .
p
b xmes ames bmes

Remarque(s)
La première formule est une formule exacte, la deuxième une formule approchée si ur est assez faible.

Pour les cas plus compliqués, pour calculer l’incertitude-type, on utilise une simulation Monte-Carlo : on fait une
simulation informatique comportant une part d’aléatoire.

Exemple(s)
Pour mesurer la longueur d’onde de la raie verte du mercure à l’aide d’un goniomètre à réseau réglé sous
incidence normale, on détermine les positions angulaires x du faisceau émergent et y du faisceau incident. Pour
un réseau comptant N = 300 × 103 traits/m, la formule du réseau permet de déterminer la longueur d’onde
sin(x − y)
λ du faisceau à l’aide de la fonction : λ = . On mesure x = (199, 800 ± 0, 042)◦ et y = (190, 420 ±
N
0, 031)◦ . À l’aide de la simulation Monte-Carlo (cf. Script 1 partie 7.3), on trouve λ = (543, 3 ± 2, 9)nm.

Pour déterminer les différentes contributions lors du calcul d’une incertitude-type composée, on adapte le
script 1. Par exemple, pour connaître la contribution de l’incertitude sur x sur le résultat, il suffit d’exécuter la
simulation avec uy = 0.

2022/2023 C. Gouiller 4 / 10
TP 0 PCSI 3

Figure 1 – Loi de probabilité normale et intervalle de confiance :


à gauche, le niveau de confiance de l’intervalle grisé de largeur 2u(x) s’élève à 68 % ;
à droite, le niveau de confiance de l’intervalle grisé de largeur 4u(x) s’élève à 95 %.

3 Présentation d’un résultat expérimental


On présente toujours un résultat expérimental accompagné d’une incertitude-type, d’une unité, avec le nombre
de chiffres significatifs cohérents (important : le dernier chiffre significatif de xmes doit correspondre au dernier
chiffre significatif de u(x)) : x = (xmes ± u(x)) unité .

♡ A retenir
L’incertitude-type est donnée, par convention, avec 2 chiffres significatifs.

Exemple(s)
0, 314 → 0, 32 et 3, 15 → 3, 2

4 Loi normale et intervalle de confiance


On introduit la notion d’intervalle de confiance pour évaluer la précision de l’estimation de xmes et u(x).
En statistiques, un intervalle de confiance à 68 % (respectivement 95 %) est un intervalle construit à partir d’un
échantillon dans lequel on a la probabilité de 68 % (respectivement 95 %) de trouver la valeur vraie pour l’ensemble
de la population. En physique, on fait généralement l’hypothèse que la fonction de densité de probabilité de la
moyenne des mesures suit une loi normale d’écart-type u(x). Sous cette hypothèse, le niveau de confiance que l’on
peut attribuer à l’intervalle [xmes − u(x); xmes + u(x)] est d’environ 68 %. Si on double la largeur de l’intervalle et
qu’on prend [xmes − 2u(x); xmes + 2u(x)], le niveau de confiance s’élève à 95 %.

5 Comparaison de deux valeurs, écart normalisé


Pour savoir si deux valeurs mesurées (x1 et x2 , d’incertitudes-types u(x1 ) et u(x2 )) sont compatibles, on
|x1 − x2 |
convient que l’écart normalisé z (appelé aussi z-score) doit être inférieur à 2 : z = p <2
u(x1 )2 + u(x2 )2
Si z < 2, les deux valeurs mesurées ne sont pas compatibles. On doit souvent comparer une valeur expérimentale
xmes à une valeur de référence xréf dont l’incertitude-type est négligeable. Dans ce cas, les deux valeurs sont

2022/2023 C. Gouiller 5 / 10
TP 0 PCSI 3

|xref − xmes |
compatibles si : z = <2
u(xmes )

Remarque(s)
La valeur seuil de 2 est arbitraire. Elle est liée au fait que l’intervalle [xmes − 2u(x); xmes + 2u(x)] est un
intervalle de confiance à 95 % pour une distribution qui suit la loi normale.

Si z < 2, la compatibilité de xmes et xréf est assurée avec une probabilité d’environ 95 %. Si z > 2, le résultat de
l’expérience n’est pas compatible avec la valeur de référence. Cela peut avoir différentes origines :
➢ la variabilité des mesures (cas rare et z ∼ 2) ;
➢ une erreur de manipulation ou de calcul de la valeur mesurée ou de son incertitude (souvent z > 3, il faut
reprendre les calculs et avoir un regard critique sur l’expérience) ;
➢ un oubli d’une source d’incertitudes (cas assez courant, il faut reprendre l’estimation des incertitudes) ;
➢ un biais du protocole.

6 Régression linéaire
6.1 Représentation graphique des données et de la droite modèle
Le plus souvent en TP, on cherche à tracer une droite du type y = ax + b afin de déterminer les valeurs de a
et de b ainsi que leurs incertitudes. Pour cela, on mesure une série d’au moins 5 valeurs de xi , de yi et de leurs
incertitudes-types u(yi ) que l’on rentre dans des tableaux numpy de Python ou un tableur (Excel, Regressi, etc).
On réalise une représentation graphique des données et de leur incertitudes.
Python : La fonction np.polyfit(x, y, 1) renvoie en premier argument la pente a et en deuxième l’ordonnée
à l’origine b. Python permet d’effectuer une régression linéaire et de représenter la droite modèle y = ax + b
(droite de régression) sur le même graphique. Il fournit les valeurs optimisées de a ; b et de leurs incertitudes-
types u(a) et u(b) par une simulation Monte-Carlo (cf script 2 partie 7.4), à condition que les incertitudes sur
x soient négligeables.

6.2 Validation des résultats : analyse gra-


phique
Pour vérifier si les incertitudes-types sont compatibles
avec le modèle linéaire, on les ajoute sur le graphe. Si
les écarts à la droite de régression sont comparables aux
incertitudes-types alors le modèle linéaire est validé. Pour
cela, il faut un plus grand nombre de points possible et
des barres d’erreur les plus petites possibles. Pour vérifier
si les valeurs mesurées sont compatibles avec le modèle
linéaire, on vérifie que les points sont répartis aléatoire-
Figure 2 – Incertitudes-types validées.
ment de part et d’autre de la droite de régression.

2022/2023 C. Gouiller 6 / 10
TP 0 PCSI 3

6.3 Validation des résultats : écarts normalisés


Pour vérifier l’alignement, on peut tracer les résidus normalisés. On le fera notamment si on ne voit pas de
manière évidente que la droite tracée « passe » par les barres d’incertitudes, parce que celles-ci sont trop petites.
De nombreux logiciels proposent le tracé des résidus normalisés, qui représentent les écarts entre les points de
mesure et la droite de régression divisés par l’écart quadratique moyen calculé sur l’ensemble des points. Il prend
des valeurs comprises entre −2 et 2 lorsque la régression linéaire est valide et qu’il n’y a pas de point aberrant
(figure 3). Si les résidus forment une courbe et ne sont pas aléatoirement répartis, le modèle linéaire n’est pas
optimal (figure de gauche). Si les résidus sont répartis aléatoirement de part et d’autre de 0, le modèle linéaire est
optimal (figure de droite).

Figure 3 – Exemples de régressions linéaires avec tracés des résidus normalisés


À gauche : Résidus non aléatoires. À droite : Résidus aléatoires.

7 Capacités numériques : Simulations Monte-Carlo en Python


7.1 Sous-module random de la bibliothèque numpy
Création de l’alias rd :
import numpy . random a s rd

➢ 1. Dans sa version la plus simple, l’expression rd.uniform(x − a, x + a, N) permet de créer un tableau numpy
de N valeurs tirées aléatoirement entre x − a et x + a et issues d’une distribution uniforme (autrement dit
rectangulaire) ; ici x et a sont des scalaires ;
➢ 2. l’expression X + rd.uniform(−a, +a, N) permet de rajouter au tableau numpy X un tableau numpy de N
valeurs tirées aléatoirement entre −a et +a issues d’une distribution uniforme, cette expression permet de
gérer le cas où on a un ensemble de N valeurs mesurées (représentées par le tableau numpy X, X est de
dimension N ), auxquelles on rajoute des variables aléatoires uniformes ayant toute la même étendue a ;

2022/2023 C. Gouiller 7 / 10
TP 0 PCSI 3

➢ 3. l’expression X + A ∗ rd.uniform(−1, 1, N) permet de gérer le cas où on a un ensemble de N différentes


valeurs mesurées (représentées par le tableau numpy X), auxquelles on rajoute des variables aléatoires issues
de distributions uniformes de différentes étendues, contenues dans le tableau numpy A ; ainsi peut-on prendre
en compte le fait que la précision varie en fonction de la valeur de la lecture à l’appareil ;
➢ 4. l’expression rd.normal(loc = 0.0, scale = 1.0, size = None) crée un tableau numpy de taille size qu’on
peut préciser (si on ne le précise pas on obtient un scalaire), contenant des valeurs tirées aléatoirement issues
d’une distribution gaussienne d’espérance loc et d’écart-type scale. C’est ce qu’on utilise habituellement
si on a un processus qu’on peut raisonnablement penser comme gaussien.
➢ 5. On peut adapter les points (2) et (3) au cas gaussien, en substituant rd.normal à rd.uniform.

7.2 Histogramme

On représente la dispersion des valeurs mesurées à l’aide


d’un histogramme. Un histogramme est un diagramme qui
permet de représenter la distribution d’un caractère sta-
tistique par des barres, appelées classes, dont la hauteur
est égale à l’effectif de la classe. On entre les donnée des
mesures sous la forme d’un tableau numpy nommé data.
Python : On obtient l’histogramme par la com-
mande : plt.hist(data, bins =′ rice′ ) (où plt est l’alias de
matplotlib.pyplot).
On peut choisir le nombre de classes dans l’option bins,
la valeur par défaut est 10. Pour laisser Python gérer
automatiquement le nombre de classes, on utilise l’option
bins =′ auto′ . Il est toujours possible de mentionner la règle
de Rice qui permet d’obtenir un nombre k de classes en
fonction du nombre n d’observations : k ≃ 2N 1/3 . Cette règle Figure 4 – Exemple d’histogramme
simple fonctionne dans bon nombre de cas. On utilise l’option
bins =′ rice′ .

7.3 Script 1 : Incertitude-type composée


Importation des modules et création des alias :
import numpy a s np
import numpy . random a s rd

On définit la fonction.
def lamb ( x , y ) : # lambda e s t un mot r e s e r v e en Python
N = 300 e3
return np . s i n ( np . r a d i a n s ( x − y ) ) / N

On entre les valeurs de x et y et leurs incertitudes-types u(x) et u(y)

2022/2023 C. Gouiller 8 / 10
TP 0 PCSI 3

x , u_x = 1 9 9 . 8 0 0 , 0 . 0 4 2
y , u_y = 1 9 0 . 4 2 0 , 0 . 0 3 1

On simule n_sim jeux de données selon la loi de probabilité normale associée à x; u(x) et à y; u(y).
n_sim = 10000
tableau_x = rd . normal ( x , u_x , n_sim )
tableau_y = rd . normal ( y , u_y , n_sim )

On calcule le tableau de résultats à l’aide de la fonction lambda


tableau_lambda = lamb ( tableau_x , tableau_y )

On calcule et on affiche la moyenne et l’écart-type du tableau de résultats.


moy = np . mean ( tableau_lambda )
e c a r t _ t y p e = np . s t d ( tableau_lambda , ddof = 1 )
print ( " Valeur mesuree de lambda = {} nm" . format (moy∗1 e9 ) )
print ( " I n c e r t i t u d e −type de lambda = {} nm" . format ( e c a r t _ t y p e ∗1 e9 ) )

7.4 Script 2 : Régression linéaire


Importation des modules.
import numpy a s np

On définit les données mesurées et leurs incertitudes-types. Les incertitudes sur x devant être négligeables, on ne
les a pas définies ici.
# l e s tableaux a completer
x = np . a r r a y ( [ . . . , . . . ] ) # v a l e u r s mesurees de x
y = np . a r r a y ( [ . . . , . . . ] ) # v a l e u r s mesurees de y
u_y = np . a r r a y ( [ . . . , . . . ] ) # i n c e r t i t u d e s −t y p e s de y

On définit le nombre de simulations et on initialise deux tableaux des pentes a et des ordonnées à l’origine b de
taille n_sim.
n_sim = 1000
a , b = np . z e r o s ( n_sim ) , np . z e r o s ( n_sim )

On répète n_sim fois la simulation d’un jeu de données en tenant compte des incertitudes-types. La fonction
np.polyfit(x, y, 1) calcule la pente et l’ordonnée à l’origine optimales où x et y sont les tableaux qui contiennent
les données à traiter. On stocke les caractéristiques de la régression linéaire dans les tableaux a et b.
f o r i in range ( n_sim ) :
y_sim = np . random . normal ( y , u_y)
r e s = np . p o l y f i t ( x , y_sim , 1 )
a [ i ] , b[ i ] = res

On calcule les moyennes des pentes et des ordonnées à l’origine puis leurs incertitudes-types.

2022/2023 C. Gouiller 9 / 10
TP 0 PCSI 3

a_opt , b_opt = np . mean ( a ) , np . mean ( b )


u_a , u_b = np . s t d ( a , ddof = 1 ) , np . s t d ( b , ddof = 1 )

On peut afficher à l’écran ces valeurs.


print ( " Pente = ( { } +/− { } ) u n i t e " . format ( a_opt , u_a ) )
print ( " Ordonnee a l o r i g i n e = ( { } +/− { } ) u n i t e " . format ( b_opt , u_b) )

2022/2023 C. Gouiller 10 / 10

Vous aimerez peut-être aussi