Académique Documents
Professionnel Documents
Culture Documents
Sous la direction du
Prof. Brahim El habil
Devant le jury :
Remerciements 3
Introduction générale 4
Annexes 16
Conclusion 19
Bibliographie 20
2
Remerciements
Nous tenons à remercier notre encadrant Monsieur Brahim El Habil Professeur à la faculté polydisciplinaire
de Ouarzazate, pour avoir accepté d’encadrer ce projet tutoré, pour son soutien, ses encouragements et ses
explications.
Nous remercions également Mademoiselle R’kia Bouyouli Professeur à la faculté polydisciplinaire de Ouar-
zazate, pour avoir accepté d’être examinatrice de notre travail.
Enfin , Nous remercions également les professeurs et les personnels de la faculté polydisciplinaire de Ouar-
zazate pour leur collaboration au long de la période de formation et toute personne ayant contribué, de près ou
de loin, à la réalisation de ce travail.
3
Introduction générale
Le présent document constitue une synthèse de notre travail réalisé dans le cadre du projet tutoré de
fin de formation de la licence sciences mathématiques et informatique (SMI). Ce projet à pour objectif est de
présenter une étude analytique de la résolution des équations différentielle linéaires du premier ordre à coefficients
constantes et une résolution numérique par la méthode de Runge-Kutta dordre 4.
Une grande variété de problèmes relatifs à la mécanique, l’astronomie, la physique, mathématique, etc...
conduisent à déterminer une fonction inconnue, par la connaissance d’une équation reliant ses dérivées successives
jusqu’à un certain ordre. Ces équations sont appelées les équations différentielles. Leur étude constitue l’une des
branches des mathématiques les plus fameux.
Ces équations différentielles en générale sont inventées par Newton (1642-1727). C’est le début de la physique
moderne et l’utilisation de l’analyse pour résoudre la loi de la gravitation universelle conduisant à l’ellipsité des
orbites des planètes dans le système solaire. Leibniz (1646-1716) érige l’analyse en discipline autonome mais il
faut attendre les travaux d’Euler (1707,1783) et de Lagrange (1736-1813) pour avoir apparaı̂tre les méthodes
permettant la résolution des équations linéaires.
Plus tard, Liouville (1790-1882) montrera l’impossibilité de résoudre certaines équations différentielles d’ordre
plus élevé.
De nos jours beaucoup des mathématiciens, à commencer par Poincaré (1854-1912), ont montré que les
solutions d’équations différentielles peuvent être très instables, ces équations peuvent conduire à des situations
chaotiques à cause d’une grande sensibilité aux conditions initiales.
Parmis les méthodes numériques d’aproximations des solutions des équations différentielles les plus fameux
et les plus éfficasses on trouve la méthode de Runge-Kutta (voir [1]). Elles sont nommées ainsi en l’honneur des
mathématiciens Carl Runge et Martin Wilhem Kutta lesquels élaborèrent cette méthode en 1901. Ces méthodes
reposent sur le principe de l’itération avec une condition initiale, c’est à dire qu’une première estimation de la
solution est utilisée pour calculer une seconde et ainsi de suite.
Ainsi notre rapport écrit en LATEX contient deux chapitre. Le premier chapitre est consacré à la résolution
analytique et numérique des équations différentielles du premier ordre sous la forme du problème de Cauchy
suivant 0
y (t) = ay(t) + b, t ≥ 0,
y(t0 ) = y0 ,
Où a, b et y0 sont des éléments d’un corps K. Dans le deuxième chapitre nous avons développé une application
sous le language de programation orienté objet Java pour résoudre tout problème de Cauchy.
4
Chapitre 1
1.1 Introduction
Le long de ce chapitre, on s’intéressent aux équations différentielles linéaires d’ordre 1 de la forme
définies sur un intervalle de la forme I = [t0 , +∞[. Si a0 = 1, alors cette équation est dite une équation
différentielle linéaire d’ordre 1 normalisée.
Sinon on peut se ramener à une équation différentielle linéaire d’ordre 1 normalisée on divisent par a0 . D’où
l’équation devient
y 0 (t) + ay(t) = b, t ∈ I,
a1 b0
où a = et b = . Pour ça résolution, cette équation est muni d’un condition unitiale y0 , qu’on suppose
a0 a0
égale à y(t0 ). Ce ci donne le problème de Cauchy suivant
0
y (t) = −ay(t) + b, t ≥ t0 ,
(1.1.0.1)
y(t0 ) = y0 ,
Avec (a, b, y0 ) ∈ R3 . On commence ce chapitre, dans un premier temps, par donner deux exemples théorique des
équation différentielles linéaire d’ordre 1. En suite, on donnera la solution analytique du problème de Cauchy
dans le cas générale. En fin, on s’interessent à la solution numérique de (1.1.0.1). En particulier, la solution par
la méthode de Rung Kutta.
5
Exemple 1.1.2. (Solde d’un compte bancaire) Tous les ans, un compte bancaire est crédité d’intérêts d’un
taux de 5%. Si on suppose que le client de ce compte paye 50$ pour son loyer alors le solde y de ce compte
bancaire en fontion de l’année t vérifierait
5
y0 = y − 50.
100
b
y(t) = y0 e−a(t−t0 ) + 1 − e−a(t−t0 ) , t ≥ t0 . (1.2.0.1)
a
Exemple 1.2.1. On considère le problème de cauchy suivant
0
y (t) = −2y(t) + 6, t ≥ 0,
y(0) = −1.
Par la méthode de variation de la constante (voir (1.2.0.1)), la solution est donnée par
1.3.1 Principe
Le principe de la méthode de Runge Kutta est de choisir un pas h = tn+1 − tn en partant de la valeur initiale
y0 = y(t0 ), on intégre l’équation différentielle y 0 (t) = −ay(t) + b entre tn et tn+1 , cela donne la forme suivante
Z tn+1
y(tn+1 ) − y(tn ) = − ay(s) + b ds. (1.3.1.1)
tn
Si on pose y(tn ) = yn , pour tout n ∈ Z, alors l’équation (1.3.1.1) est approchée sous la forme suivante
D’où
yn+1 = yn + h(−ayn+1 + b), n ∈ N. (1.3.1.3)
6
Z tn+1
(iii) Par la méthode de Simpson (voir [4]), l’intégrale − ay(s) + b ds est approchée sous la forme
tn
suivante
Z tn+1
h tn + tn+1
− ay(s) + b ds ' × − ay(tn ) + b + 4(−ay( ) + b) + − ay(tn+1 ) + b .
tn 6 2
tn + tn+1
Si on pose = tn+ 21 , alors
2
Z tn+1 h h i
− ay(s) + b ds ' × − ayn + b + 4(−ayn+ 12 + b) + − ayn+1 + b .
tn 6
D’où
h h i
×
yn+1 = yn + − ayn + b + 4 − ayn+ 21 + b + − ayn+1 + b . (1.3.1.4)
6
Z tn+1
(iv) Par la méthode de rectangle au milieu (voir [5]), l’intégrale − ay(s) + b ds est éstimée par
tn
Z tn+1
− ay(s) + b ds ' h × − ayn+ 12 + b .
tn
D’où
yn+1 = yn + h × − ayn+ 12 + b . (1.3.1.5)
h
Maintenant, puisque yn+ 12 = yn + (−ayn + b) (voir (i)), alors, par (ii) on a
2
h
yn+ 12 = yn + − ayn+ 12 + b
2
h h
= yn + −a yn + (−ayn + b + b .
2 2
D’où
4 − ayn+ 12 + b = 2 − ayn+ 21 + b + 2 − ayn+ 12 + b
h h h
= 2 − a yn + (−ayn + b) + b + 2 − a yn + −a yn + (−ayn + b) + b + b
2 2 2
7
où
k1 = −ayn + b
k2 = k1 − a h2 k1
k3 = k1 − a h2 k2
k4 = k1 − ahk3
1.3.2 Exemple
Soit le problème de Cauchy suivant
k2 = k1 − a h2 k1 = −4.95,
k3 = k1 − a h2 k2 = −5.005,
k4 = k1 − ahk3 = −4.499.
D’où y1 = y0 + h6 (k1 + 2k2 + 2k3 + k4 ) = 2.501516.
— Deuxième itération
k1 = −ay1 + b = −2 × 2.501516 + 0.5 = −4.503032
k2 = k1 − a h2 k1 = −4.0527288
k3 = k1 − a h2 k2 = −4.09775912
k4 = k1 − ahk3 = −3.683480176
D’où : y2 = y1 + h6 (k1 + 2k2 + 2k3 + k4 ) = 2.0933912.
Par la même façon on calcule les autres solutions numériques jusqu’à l’itération n.
8
1.3.3 Erreurs
La méthode de Runge Kutta d’ordre 4 est une méthode numérique évolue pour minimiser l’erreur commise
au sein de la résolution numérique des équations différentielles linéaires. L’erreur associé à chaque itération de
la solution est donnée sous la forme suivante
avec yexact (ti ) est la solution obtenue par la résolution analytique et yRK4 (ti ) est la solution obtenue par la
méthode de Runge Kutta
Exemple 1.3.1. On considère l’exemple précédent
0
y (t) = −2y(t) + 0.5, t ≥ t0
(1.3.3.1)
y(0) = 3
Résolution analytique : par la méthode de la variation de la constante (voir (1.2.0.1)), la solution du problème
s’écrite sous la forme
0.5
y(t) = 3e−2t + (1 − e−2t )
2 −2t
= 0.25 + 2.75e
Résolution numérique : (voir 1.3.2)
La solution du problème de Cauchy (1.3.3.1) en 10 itération avec l’erreur commise est le suivant
9
Chapitre 2
2.1 Introduction
Cette partie constitue une représentation de notre application java créer précisement pour donner une ap-
proximation sur la résolution numériques des équations différentielles linéaires du premier ordre à coefficients
constantes sous la forme de problème de Cauchy (1.1.0.1). Cette solution est calculée, en appliquant la méthode
de Runge Kutte d’ordre 4. Nous commençons ce chapitre par expliquer l’interaction entre l’utilisateur et le
système.
10
2.3 Interface de l’application
Lors de l’exécution de notre application informatique, développée en java, la fenêtre de démarrage suivante
s’affiche
Cette interface est une interface d’introduction à l’application qui contient un seul bouton qu’on appellé
”Ouvrir”. Si on clique sur ce bouton, le code (voir l’annexe(A-1)) s’exécute est lance la fenêtre suivante
Cette fenêtre contient la forme du problème de Cauchy à résoudre, quatres cases pour insérer les coefficients
a, b, t0 et y0 du problème et les deux boutons suivants
1. ”Effacer” : pour effacer le contenu des quatres cases.
11
2. ”Suivant” : pour passer à la fenêtre suivante.
On suppose que l’utilisateur a saisie les réelles a = −1, b = 2, t0 = 0 et y0 = 3. Quand il clique sur le bouton
”Suivant”, un code dans l’annexe (A-7) s’exécute et génére la fenêtre suivante
qui affiche en haut le problème inséré par l’utilisateur dans la fenêtre précédente suivie de deux cases : h
pour insérer le pas et n pour le nombre d’itérations. La fenêtre contient en dessous trois boutons :
1. ”Retour” : pour revenir à la fenêtre précédente.
2. ”Effacer” : pour effacer le contenu des deux cases.
3. ”Résoudre” : pour passer à la fenêtre suivante de résultat.
On suppose que l’utilisateur a saisie le réel h = 0.2 et l’entier n = 10. Lorsqu’il clique sur le bouton ”Résoudre”,
un code similaire à celui dans l’annexe(A-7) s’exécute et donne la fenêtre de résultat suivante
12
Cette fenêtre contient le problème de Cauchy inséré par l’utilisateur avec le nombre d’itérations et le pas,
suivie d’un tableau de Solutions par la méthode de Runge-Kutta d’ordre 4 et Solutions exactes par la méthode
de variation de la constante(voir 1.2.0.1) avec l’erreur commis(voir 1.3.3).
• Lorsque l’utilisateur laisse une case vide et clique sur le bouton ”Suivant” dans la fenêtre d’insertion 1
(Figure 2.3) ou ”Résoudre” dans la fenêtre d’insertion 2 (Figure 2.3) , l’application affiche une boı̂te de
message à l’attention de l’utilisateur selon les cases vides comme dans la figure suivante
• Lorsque l’utilisateur saisie une chaı̂ne de caractères quelconque, l’application affiche une boı̂te de message
à l’attention de l’utilisateur selon la case qui a été remplie, comme dans la figure suivante
13
• Lorsque l’utilisateur saisie un pas h négatif ou null dans la fenêtre d’insertion 2 (Figure 2.3), l’applications
affiche une boı̂te de message à l’attention de l’utilisateur pour saisie un pas strictement positif comme
dans la figure suivante
14
La solution est s’affiche comme suite
15
Annexes
16
A-4. Affichage de résultat dans un tableau
17
A-6. Fonction Round Value
18
Conclusion
Dans ce projet, nous nous sommes concentrés sur la résolution des équations différentielles linéaires du
premier ordre par la méthode de Runge-Kutta d’ordre 4.
Ensuite, nous avons développé une application sous java qui permet de résoudre les équations différentielles
linéaires de la forme y 0 (t) = ay(t) + b, où a et b sont des coefficients réels.
Enfin, ce projet nous a permis de travailler en groupe et d’appliquer la théorique mathématique en program-
mation informatique.
19
Bibliographie
20