Incertitudes-types composées - Simulation
Programme de classe terminale, enseignement de spécialité, voie générale
Simuler, à l’aide d’un langage de programmation, un processus aléatoire illustrant la détermination de la valeur d’une grandeur avec incertitudes-types composées.
Principe
Estimer une incertitude-type à partir de plusieurs sources d'erreurs à l'aide d'une simulation Python utilisant un processus aléatoire (module random
) sur un grand nombre d'expériences.
Comparer la valeur obtenue à l'incertitude-type donnée par la formule de composition des incertitudes.
Exemple : titrage
Soit le titrage d'un acide de concentration \(C_A\) et de volume \(V_A\) par une base de concentration \(C_B\) et de volume \(V_B\).
A l'équivalence :
- Données
Grandeur |
Valeur |
Source d'erreurs |
Incertitude-type |
---|---|---|---|
\(C_B\) |
0,70 mol/L |
Préparation solution titrante |
0,02 mol/L |
\(V_A\) |
10,00 mL |
Pipette jaugée 10,0 mL (classe A) |
0,02 mL |
\(V_E\) |
20,00 mL |
Burette graduée de 25 mL |
0,03 mL |
Le programme suivant simule la variabilité de le concentration \(C_A\) pour un nombre important de titrages en tenant compte de l'incertitude-type de chaque grandeur présente dans l'expression de \(C_A\).
import numpy as np
from statistics import mean, stdev
def alea(x):
""" Retourne une valeur avec une erreur aléatoire de la grandeur x
"""
tirage = np.random.normal() # Tirage suivant une loi normale entre - infini et + infini
return x[0]+x[1]*tirage # Valeur avec erreur aléatoire
CB = [0.70, 0.02] # valeur et incertitude-type de CB
VA = [10.00, 0.02] # valeur et incertitude-type de VA
VE = [20.00, 0.03] # valeur et incertitude-type DE VE
n = 100 # Nombre de titrage : 100, 1000, 10000, ...
CA = [alea(CB)*alea(VE)/alea(VA) for i in range(n)] # Calcul de CA pour les n titrages
moy = mean(CA) # Valeur moyenne
s = stdev(CA) # Ecart-type
print("moy = ", moy, "s =", s)
print("Moyenne CA =", round(moy,2), "mol/L")
print("Incertitude type sur CA =", round(s,2), "mol/L")
- Résultats
>>> %Run script.py
moy = 1.4023357675343335 s = 0.03913323674046289
Moyenne CA = 1.4 mol/L
Incertitude type sur CA = 0.04 mol/L
>>> %Run script.py
moy = 1.3920096197242249 s = 0.03937987403174825
Moyenne CA = 1.39 mol/L
Incertitude type sur CA = 0.04 mol/L
Plus grand sera n
, meilleure sera l'estimation de l'incertitude-type composée !
- Comparaison