A. Hassan@Champollion PCSI-MPSI – 1
Informatique en PCSI et MPSI
Champollion 2013-2014
Méthodes d’Analyse Numérique
Implémentation et Application en Python
Équations différentielles ordinaires
A. HASSAN
19 février 2014
Résolution des équation différentielles
ordinaires (EDO)
Résolution des équation
différentielles ordinaires
(EDO)
Le Problème
Le Problème (suite)
Problème de Cauchy
Méthodes de résolution:
Ordres 1 et 2
Méthode d’Euler ou RK1
(Runge-Kutta d’ordre 1)
Implémentation de
l’algorithme d’Euler
Implémentation de la
méthode d’Euler en
Python
Runge Kutta d’ordre 4
(RK4)
Méthode de Runge-Kutta
d’ordre 4 en Python
Méthode de Runge-Kutta
d’ordre 4 en Python
Utilisation de la
commande odeint du
module
scipy.integrate
Commande
odeint (suite)
Exercice: L’équation de
Van Der Pol (1924)
Implémentation en Python
Exploitation graphique
Exploitation graphique:
Champs de vecteurs
Solution
A. Hassan@Champollion PCSI-MPSI – 2
Le Problème
A. Hassan@Champollion PCSI-MPSI – 3
Soit Iun intervalle de R,Dun ouvert de Rnet fune fonction connue de
Rn×IRn. On cherche y:IRntelle que
y(t) = f(y(t);t)f(y(t);t) =
f1(y1(t),··· ,yn(t);t)
.
.
.
fn(y1(t),··· ,yn(t);t)
et y(t) =
y1(t)
.
.
.
yn(t)
Ce type d’équations s’appelle Équation résolue en y.
Par contre sin(t.y+cos(y+y)) = t.y+yn’est pas résolue en y.
I.e. Impossible d’écrire y=f(t,y)(avoir yexplicitement en fonction de tet y)
Ordinaire : la dérivation est effectuée par rapport à tuniquement.
Équation aux dérivées partielles(EDP) : T
t=2T
x2+2T
y2, fonction inconnue
T(t,x,y)(Équation de la chaleur ou de la diffusion)
Le Problème (suite)
A. Hassan@Champollion PCSI-MPSI – 4
Problème de Cauchy (ou de la condition initiale) :
Trouver t7y(t) =
y1(t)
.
.
.
yn(t)
de IRntelle que
y(t0) = y0
y(t) = f(y(t);t)
Problème des conditions aux limites :
Cas où l’on dispose d’informations sur yà des valeurs différentes de t.
Conditions initiales Conditions aux limites
y
1(t) = y1(t) + y2(t) + sin(t)
y
2(t) = 2y1(t)3y2(t)
(y1(0);y2(0)) = (0, 3)
y
1(t) = y1(t) + y2(t) + sin(t)
y
2(t) = 2y1(t)3y2(t)
y1(0) = 2
y2(π
4) = 1
Problème de Cauchy
Résolution des équation
différentielles ordinaires
(EDO)
Le Problème
Le Problème (suite)
Problème de Cauchy
Méthodes de résolution:
Ordres 1 et 2
Méthode d’Euler ou RK1
(Runge-Kutta d’ordre 1)
Implémentation de
l’algorithme d’Euler
Implémentation de la
méthode d’Euler en
Python
Runge Kutta d’ordre 4
(RK4)
Méthode de Runge-Kutta
d’ordre 4 en Python
Méthode de Runge-Kutta
d’ordre 4 en Python
Utilisation de la
commande odeint du
module
scipy.integrate
Commande
odeint (suite)
Exercice: L’équation de
Van Der Pol (1924)
Implémentation en Python
Exploitation graphique
Exploitation graphique:
Champs de vecteurs
Solution
A. Hassan@Champollion PCSI-MPSI – 5
Sauf quelques cas particuliers, il est presque impossible de
trouver des solutions analytiques(i.e. se ramener à un calcul de
primitives).
On cherche des solutions approchées, donc solutions
numériques.
Principe : Si l’on connaît yà l’instant (abscisse) t, comment
obtenir yà l’instant t+h,y(t+h), puis recommencer avec
y(t+h)?
Choisir hassez petit et utiliser les Développements limités
y(t+h) = y(t) + hy(t) + 1
2h2y(t) + ···+o(hn)y(t)= f(t,y(t)
===========
=y(t) + Φ(t,h,f(y,t)) + o(hn)
On cherche Φ(t,h,f(y,t)) de telle sorte l’ordre de o(hn)soit le
plus élevé possible (en minimisant le coût et la complexité des
calculs).
1 / 43 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !