Académique Documents
Professionnel Documents
Culture Documents
Casablanca
Exercice 1 :
Partie 1 : Equations différentielles du premier ordre
Une équation différentielle du premier ordre normalisée peut toujours s'écrire sous la
forme suivante :
Par exemple :
() ( )
’ (t) = 2.t.sin (y(t)) + 1 avec y(1)=1
Méthodes de résolution des équations différentielles
( ) ( ( ))
Où : ( ( ))est une fonction continue sur l’intervalle [a, b] ; avec une condition
initiale : y(a)=y0
On considère une subdivision régulière t = (t0, t1, …, tn) de [a, b] de pas h = (b-a)/n, on a
donc :
ti =t0+ih =a+ih
a. Méthode d’Euler
Si h est suffisamment petit on a :
( ) ( ) ∫ ( ( )) ( ( ))
Avec la méthode d’Euler, les approximations sont alors calculées de proche en proche par :
( )
b. Méthode de prédiction-correction
La formule de la méthode de prédiction correction est donnée comme suit :
( ( ) ( ̅̅̅̅̅̅))
CPGE Informatique
Casablanca
̅̅̅̅̅̅ ( )
1. Définir une fonction Euler(f,a,b,y0,n) qui prend en paramètre la fonction f(t,y)
représentant l’équation différentielle à résoudre, les bornes de l’intervalle de résolution a
et b, n le nombre de sous intervalle à considérer et y0=y(a) et qui retourne une liste de
n+1 éléments solution de l’équation différentielle par la méthode d’Euler.
2. Définir une fonction Prediction(f,a,b,y0,n) qui prend en paramètre la fonction f(t,y)
représentant l’équation différentielle à résoudre, les bornes de l’intervalle de résolution a
et b, n le nombre de sous intervalle à considérer et y0=y(a) et qui retourne une liste de
n+1 éléments solution de l’équation différentielle par la méthode de prédiction
correction.
3. Ecrire un programme de test pour résoudre l’équation différentielle suivante sur
l’intervalle [0,3] :
()
( )
4. A l’aide de la fonction prédéfinie de python Odeint, écrire un programme de test pour
résoudre l’équation différentielle suivante sur l’intervalle [1,5] :
y’ (t) - 2.t.sin(y(t)) – 1=0
avec y(1)=1
NB:
la fonction odeint est définie dans le module scipy.integrate.
sa syntaxe est comme suit :odeint (f, y0, t), pour résoudre l’équation
y′(t)=f(y(t), t) sur un intervalle [a, b].
Exercice 2 :
Question1 :
On note y(t) la température en degrés Celsius d’une réaction chimique en fonction du temps t, t
étant exprimé en heures.
Après étude, on constate que la température est solution de l’équation différentielle :
La fonction odeint nous permet de résoudre des équations d’ordre 1. Alors, pour résoudre des
équations différentielles d’ordre 2 il suffit de les transformer en une équation d’ordre 1 en
considérant que l’inconnu n’est pas y mais le couple z(t) = (y(t), y’(t) ) avec z(t0) = ( y (t0), y’(t0) ).
On calcule alors
Résolution de l’équation :
z0 = [1, 2]
[[y(t0), y ’(t0)],
[y(t1), y ’(t1)],
………
[y(tn-1), y ’(tn-1)]]
Le tracé : Pour effectuer le tracé il faut extraire la première colonne de la matrice z par : y =
z[:,0] (les tableaux numpy). Effectuer ensuite le tracé :
y = z[ : , 0 ]
plt.plot(t, y)
CPGE Informatique
Casablanca
plt.show( )
1. Modifier la fonction Euler définie dans la partie 1 pour qu’elle résolve une équation de
second degré.
2. Ecrire un programme de test pour résoudre l’équation différentielle suivante sur l’intervalle
[0,3] :
3y’’+2y’+5y=e-t avec y(0)=5 et y’(0)=7
Exercice 2 :
Question 3 :
La trajectoire suivie par un objet relié à un parachute est un axe vertical noté (O, i ).
A un instant donné, le vecteur vitesse V de l’objet est défini par V(t) (t ) i où v est une
fonction de la variable réelle positive t (temps).
Dans ces conditions de l’expérience, le vecteur R représentant la résistance de l’air est défini par
R k V où k est un nombre réel strictement positif. (Voir Figure ci-dessous)
On admet que la position x(t)de l’objet et du parachute vérifie l’équation différentielle suivante :
A partir de l’équation différentielle (E3) donner un programme de résolution numérique qui nous
permet de donner comme résultat la distance x de la chute (l’objet+parachute) après 2 minutes avec un
pas de 2 seconds.
On prendra :m=8 kg, g=10 ms-2, k=25 unités SI, position initiale x(0)=0 m et vitesse initiale
v(0)=v0=3,2 ms-1.