Programme python pour déterminé une concentration inconnue par dosage spectrophotométrique, plus simulation Monte-Carlo
5 keer bekeken 0 keer verkocht
Vak
Informatique/Chimie
Instelling
Lycée Blaise-Pascal
Le programme définit les valeurs d'absorbance et de concentration, ainsi que les incertitudes associées, pour créer un modèle de régression linéaire en utilisant la fonction "polyfit" de NumPy. Il affiche ensuite les paramètres de la droite de régression linéaire, notamment la pente, l'ord...
#Calcule de C inconnue :
import numpy as np
import numpy.random as rd
import matplotlib as plt
import matplotlib.pyplot as plt
data=np.loadtxt('C:/Users/basti/Documents/PCSI2/TIPE/Classeur1.txt') #prend les
valeur dans le document joint en txt
C=[1,2,3,4,5] #Abscisse:concentration
absorbance=[0.1925,0.3883,0.5846,0.7948,0.9761] #Absorbance:ordonnée
Ab_c_inconnue=0.5705 #Absorbance de la concentration inconnue
uC=np.array([0.1,0.1,0.1,0.1,0.1]) #incertitude de la concentration
uab=np.array([0.02,0.02,0.02,0.02,0.02]) #incertitude de l'absorbance
p=np.polyfit(C,absorbance,1)
plt.errorbar(C,absorbance,xerr=5*uC,yerr=5*uab,fmt='o')
C_modele=np.linspace(0,13,1000) #remplire avec la valeur maximal de la
concentration au milieu
absorbance_modele=p[0]*C_modele+p[1]
r=np.corrcoef(C,absorbance)
k=p[0]
def C_inconnue(ab_c_inconnue):
return Ab_c_inconnue/k #détermination de la concentration inconnue
print("pente k = ",p[0]," / ordonnée à l'origine = ",p[1]," / coefficient de
corélation r =",r[0,1]," / concentration iconnue = ",C_inconnue)
plt.plot(C,absorbance,'+')
plt.plot(C_modele,absorbance_modele, color='red')
plt.xlabel('Concentration en mol/L')
plt.ylabel('Absorbance')
plt.title('Absorbance en fonction de la concentration')
plt.text(7.5,3,"• Droite d'équation A=k*C+b : ")
plt.text(7.75,2.5,"k = " + "{:.4}".format(p[0]) + " L/mol")
plt.text(7.75,2,"b = " + "{:.4}".format(p[1]))
plt.text(7.75,1.5,"r = " + "{:.4}".format(r[0,1]))
plt.text(7.5,1,"• Concentration inconnue : ")
plt.text(7.75,0.5,"C_inconnue = " + "{:.4}".format(C_inconnue(Ab_c_inconnue)) +
"mol/L")
plt.show()
#__________________________________________________________________________________
_______________________________________________________________
#simulation Monte-Carlo pour l'absorbance:
import numpy as np
import matplotlib.pyplot as plt
# Concentration et incertitude associée
c=0.001
u_c=0.0001
k=0.1974
# Nombre de simulations Monte-Carlo
n_simulations=3000
# Simulations Monte-Carlo de l'absorbance
absorbances=[]
for i in range(n_simulations):
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
√ Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, Bancontact of creditcard voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper bastienmathieu60. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €8,49. Je zit daarna nergens aan vast.