TSI1 – Informatique TP10 : La méthode d’euler
TP10 : La méthode d’euler
1 Tracer un graphique en python
Pour tracer des graphiques en Python, on utilisera le module pyplot de la bibliothèque matplotlib. Par exemple, pour
tracer le graph de la fonction sinus entre 0 et 10 on pourra utiliser le code suivant :
from math import *
import numpy as np
import matplotlib.pyplot as plt
# fabrication automatique des abscisses entre 0 et 10
x=np.linspace(0.,10.)
y=[]
# calcule les valeurs de y
for valeur in x:
y.append(sin(valeur))
# le graphe, avec les options :
# rouge (r) et trait plein (-)
# o à la place de - : gros points
plt.plot(x,y,'r-')
# afficher le graphique
plt.show()
2 Principe de la méthode : décroissance radioactive
On veut modéliser numériquement l’évolution d’un échantillon radioactif. On prendra les valeurs numériques du plutonium
238, un isotope radioactif du plutonium ayant une constante radioactive λ=0.79 siecle−1qui se désintègre en émeant des
particules α.
On veut modéliser l’évolution temporelle d’un échantillon de plutonium 238 contenant initialement N0=1 mol d’atomes.
Par définition, la constante radioactive λest la probabilité qu’un atome se désintègre par unité de temps. Si à l’instant t,
l’échantillon contient N(t)atomes, le nombre dN d’atomes se désintégrant entre les instants tet t+dt est :
dN =λN(t)dt. (1)
On en conclut que :
N(t+dt) = N(t)−λN(t)dt. (2)
L’équation 2 permet de déterminer numériquement les valeurs de N(t)à un instant quelconque : connaissant N(t= 0) =
N0, on peut se fixer un petit intervalle de temps ∆t, puis calculer successivement :
—N(∆t) = N0−λN0∆t,
—N(2∆t) = N(∆t)−λN(∆t)∆t,
— etc.
On peut ainsi calculer les valeurs de N(tn), avec tn=n∆t.
1. Écrire une fonction python radioactivite(n0,tmax,deltaT,lamb), prenant comme argument le nombre initial
d’atomes N0, la valeur maximale tmax de t, un pas ∆tet une probabilité de désintégration λet qui retourne deux listes
contenant les valeurs de tnet les valeurs de N(tn)correspondantes.
La syntaxe pour retourner deux listes et les utiliser est la suivante :
from math import *
2. Utiliser la bibliothèque matplotlib pour tracer l’allure de N(t)obtenue pour quelques valeurs de ∆t(0.01, 0.1 et 1 siècle
par exemple). On pourra prendre tmax =5 siècles (tester d’autres valeurs).
3 La méthode d’Euler
La résolution du problème précédent revient en fait à résoudre numériquement une équation diérentielle. En eet, l’équa-
tion 2 peut se ré-écrire sous la forme suivante :
N(t+dt)−N(t)
dt =−λN(t)⇔dN(t)
dt =−λN(t).
2016–2017