0% ont trouvé ce document utile (0 vote)
19 vues39 pages

Approche par la méthode d'Euler

La méthode d'Euler permet d'approximer numériquement la solution d'une équation différentielle du premier ordre en discrétisant le problème. On découpe l'intervalle en pas réguliers et on calcule une suite approchée récurrente.

Transféré par

hey pop
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
19 vues39 pages

Approche par la méthode d'Euler

La méthode d'Euler permet d'approximer numériquement la solution d'une équation différentielle du premier ordre en discrétisant le problème. On découpe l'intervalle en pas réguliers et on calcule une suite approchée récurrente.

Transféré par

hey pop
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Méthode d’Euler

1er ordre

Informatique pour tous


Objectif

On veut calculer de façon approchée une solution y : I ⊆ R −→ R


d’une équation différentielle du 1er ordre, de la forme:

y 0 (t) = f (t, y (t))


Objectif

On veut calculer de façon approchée une solution y : I ⊆ R −→ R


d’une équation différentielle du 1er ordre, de la forme:

y 0 (t) = f (t, y (t))

1er ordre signifie qu’il y a seulement y 0 (t) et y (t) qui apparaissent,


mais pas y 00 (t), par exemple.
Équation différentielle du 1er ordre

y 0 (t) = f (t, y (t))


Quelques exemples:
1 Si f (a, b) = a:
Équation différentielle du 1er ordre

y 0 (t) = f (t, y (t))


Quelques exemples:
1 Si f (a, b) = a:

t2
solutions: y (t) = +K
2

2 Si f (a, b) = b:
Équation différentielle du 1er ordre

y 0 (t) = f (t, y (t))


Quelques exemples:
1 Si f (a, b) = a:

t2
solutions: y (t) = +K
2

2 Si f (a, b) = b:
solutions: y (t) = Ke t
3 Si f (a, b) = ab:
Équation différentielle du 1er ordre

y 0 (t) = f (t, y (t))


Quelques exemples:
1 Si f (a, b) = a:

t2
solutions: y (t) = +K
2

2 Si f (a, b) = b:
solutions: y (t) = Ke t
3 Si f (a, b) = ab:

t2
solutions: y (t) = Ke 2

4 En général: on ne sait pas résoudre explicitement.


Théorème de Cauchy

Un problème de Cauchy consiste à trouver les solutions y de:


(
y 0 (t) = f (t, y (t))
y (t0 ) = y0
Théorème de Cauchy

Un problème de Cauchy consiste à trouver les solutions y de:


(
y 0 (t) = f (t, y (t))
y (t0 ) = y0

Théorème de Cauchy-Lipschitz (admis)


Si f est de classe C 1 alors le problème de Cauchy ci-dessus possède
une unique solution maximale, définie sur un intervalle ouvert.

(Une version plus précise sera vue en maths, en 2ème année)


Méthode d’Euler

La méthode d’Euler consiste à approximer la solution y d’un


problème de Cauchy sur un intervalle I.

On souhaite approximer une fonction (un objet continu) alors que


l’informatique ne permet que de traiter d’objets discrets (finis).
Méthode d’Euler

La méthode d’Euler consiste à approximer la solution y d’un


problème de Cauchy sur un intervalle I.

On souhaite approximer une fonction (un objet continu) alors que


l’informatique ne permet que de traiter d’objets discrets (finis).

On va donc discrétiser le problème: on découpe I en n points t0 , t1 ,


..., tn−1 régulièrement espacés de h (le pas) et on cherche des
approximations yk de y (tk ).

Plus h est petit, plus l’approximation est bonne.


Méthode d’Euler

Soit y une solution de:


(
y 0 (t) = f (t, y (t))
y (t0 ) = y0
Méthode d’Euler

Soit y une solution de:


(
y 0 (t) = f (t, y (t))
y (t0 ) = y0

On peut approximer y 0 (tk ) par un taux d’accroissement:


yk+1 − yk
≈ y 0 (tk )
tk+1 − tk
Méthode d’Euler

Soit y une solution de:


(
y 0 (t) = f (t, y (t))
y (t0 ) = y0

On peut approximer y 0 (tk ) par un taux d’accroissement:


yk+1 − yk
≈ y 0 (tk ) = f (tk , y (tk ))
tk+1 − tk
Méthode d’Euler

Soit y une solution de:


(
y 0 (t) = f (t, y (t))
y (t0 ) = y0

On peut approximer y 0 (tk ) par un taux d’accroissement:


yk+1 − yk
≈ y 0 (tk ) = f (tk , y (tk ))
tk+1 − tk

D’où:
yk+1 = yk + (tk+1 − tk ) × f (tk , yk )
| {z }
h
Résumé de la méthode d’Euler

Si f est C 1 , l’équation différentielle suivante a une unique solution y


avec une valeur fixée y (t0 ):

y 0 (t) = f (t, y (t))


Résumé de la méthode d’Euler

Si f est C 1 , l’équation différentielle suivante a une unique solution y


avec une valeur fixée y (t0 ):

y 0 (t) = f (t, y (t))

La méthode d’Euler (explicite), de pas h, consiste à approximer y par


une suite récurrente (yk )0≤k<n telle que:
1 y0 = y (t0 )
2 yk+1 = yk + h × f (tk , yk )

On espère alors que yk ≈ y (tk ).


Exemple

On souhaite approximer la solution, sur [0, 1], de:


(
y 0 (t) = y (t)
y (0) = 1
Exemple

On souhaite approximer la solution, sur [0, 1], de:


(
y 0 (t) = y (t)
y (0) = 1

On subdivise, par exemple, [0, 1] en 101 points: t0 = 0, t1 = 0.01, ...,


t99 = 0.99, t100 = 1. Le pas est donc
Exemple

On souhaite approximer la solution, sur [0, 1], de:


(
y 0 (t) = y (t)
y (0) = 1

On subdivise, par exemple, [0, 1] en 101 points: t0 = 0, t1 = 0.01, ...,


t99 = 0.99, t100 = 1. Le pas est donc h = 0.01.

Les approximations de la méthode d’Euler vérifient:


Exemple

On souhaite approximer la solution, sur [0, 1], de:


(
y 0 (t) = y (t)
y (0) = 1

On subdivise, par exemple, [0, 1] en 101 points: t0 = 0, t1 = 0.01, ...,


t99 = 0.99, t100 = 1. Le pas est donc h = 0.01.

Les approximations de la méthode d’Euler vérifient:

yk+1 = yk + h × yk
Exemple

Implémentation en Python:
Exemple

Implémentation en Python:

On peut alors obtenir une approximation de e:


Exemple

Implémentation en Python:

On peut alors obtenir une approximation de e:


Exemple

Implémentation en Python:

On peut alors obtenir une approximation de e:

Question
Comment afficher graphiquement les approximations obtenues?
Exemple

Implémentation en Python:

On peut alors obtenir une approximation de e:

Question
Comment afficher graphiquement les approximations obtenues?

[Link](t, y) où t est la liste des temps d’approximations tk .


Exemple d’équation différentielle non linéaire

Écrire en Python la méthode d’Euler sur [−2, 2], avec un pas 0.001,
appliquée au problème de Cauchy:
(
y 0 (t) = t sin(y (t)) + 1
y (−2) = −1
Exemple d’équation différentielle non linéaire

Écrire en Python la méthode d’Euler sur [−2, 2], avec un pas 0.001,
appliquée au problème de Cauchy:
(
y 0 (t) = t sin(y (t)) + 1
y (−2) = −1

Voir le code euler_ex sur hugoprépa.


Implémentation de la méthode d’Euler générale

Écrire une fonction ayant en argument une fonction f , des valeurs


initiales t0, y 0, un pas h, un nombre d’itérations n et renvoyant la
liste des tk et des yk (0 ≤ k ≤ n) de la méthode d’Euler appliquée à:
(
y 0 (t) = f (t, y (t))
y (t0 ) = y0
Implémentation de la méthode d’Euler générale
Implémentation de la méthode d’Euler générale

Question
Utiliser cette fonction pour approcher sur [2, 7], avec un pas de 0.1,
une solution de: ( √
y 0 (t) = t + y (t)2
y (2) = 1
Implémentation de la méthode d’Euler générale

Quelle est la complexité de euler?


Implémentation de la méthode d’Euler générale

Quelle est la complexité de euler?

O(n), si f se calcule en temps constant.


Implémentation de la méthode d’Euler générale

Quelle est la complexité de euler?

O(n), si f se calcule en temps constant.


La méthode est plus précise si le nombre de points d’approximations
est élevé, mais elle est aussi plus lente.
Implémentation de la méthode d’Euler générale

Si on veut approximer une solution sur un intervalle de longueur `,


` 1
alors h = et euler est aussi en O( ): plus le pas est petit, plus la
n h
méthode est précise mais lente.
QCM ENAC
QCM ENAC

1 k +1 k
Réponse: le pas est de (= − ). Donc la méthode d’Euler
n n n
conduit à la récurrence C).
QCM ENAC
QCM ENAC

Réponse:
L’équation n’est pas linéaire, à cause du v 2 .
La méthode de Newton ne permet pas de résoudre une équation
différentielle, contrairement à la méthode d’Euler.
La bonne équation de récurrence est la D).

Vous aimerez peut-être aussi