Bonjour, voila ça va faire pas mal de temps que je bloque sur un exercice python, le suivant:
La probabilité que la norme du vecteur vitesse d'un atome du gaz soit comprise entre les valeurs 𝑣 et v+dv est donné par P(v) d(v)𝑣+𝑑𝑣est donneé par𝑃(𝑣)𝑑𝑣 où 𝑃(𝑣)est la fonction suivante:
𝑃(𝑣)=(𝑚/2𝜋𝑘𝑇)^3/2*exp(−𝑚𝑣²/2𝑘𝑇)*4𝜋𝑣²
Dans cette formule 𝑇 est la temperature absolue, 𝑚=𝐴×1.66×10−27𝐾𝑔 la masse d'un atome du gaz (pour de l'Hélium, A=4), et 𝑘=1.38×10−23𝐽.𝐾^−1 la constante de Boltzmann.
Verifier numériquement que l'intégrale ∫∞0𝑃(𝑣)𝑑𝑣 vaut 1.
Voilà ce que j'ai fait pour tenter de répondre à la question:
Cependant je ne trouve pas 1 et je ne comprends où j'ai bien pu me tromper, j'ai donc ouvert cette discussion pour que quelqu'un veuille bien m'expliquer comment résoudre ce problème s'il vous plaît.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 from scipy.integrate import quad from math import* xmin=0 xmax=inf def Boltzmann(v,A,T): P=(((A*1.66e-27)/(2*pi*1.38e-23*T))**3/2)*exp(-((1.66e-27*A)*(v**2))/(2*1.38e-23*T))*4*pi*v**2 return P res, err=quad(Boltzmann,xmin,xmax,args=(A,T)) print('norm',res)
Partager