Résolution numérique d'équations différentielles d'ordre 1 par EULER, HEUN et RK4, Essays (high school) of Design

Dans ce document, Mr Pernot explique comment résoudre numériquement des équations différentielles d'ordre 1 à l'aide des méthodes d'EULER, HEUN et RK4. Il détaille les principes de chacune de ces méthodes et offre des exemples pour les mettre en pratique. Les méthodes numériques sont utilisées lorsque la solution analytique d'une équation différentielle n'est pas disponible.

Typology: Essays (high school)

2018/2019

Uploaded on 12/31/2023

saadi-mohammed
saadi-mohammed 🇩🇿

1 document

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CPGE PTSI Mr Pernot
Résolution par EULER déquations différentielles
dordre 1
Résolution numérique d’équations différentielles d’ordre 1
- Méthode d'EULER - HEUN - RK4 -
pf3
pf4
pf5

Partial preview of the text

Download Résolution numérique d'équations différentielles d'ordre 1 par EULER, HEUN et RK4 and more Essays (high school) Design in PDF only on Docsity!

Résolution par EULER d’équations différentielles

d’ordre 1

Résolution numérique d’équations différentielles d’ordre 1

- Méthode d'EULER - HEUN - RK4 -

Résolution par EULER d’équations différentielles

d’ordre 1

1. Rappel sur l’équation différentielle scalaire d’ordre 1 – problème de Cauchy

Définition de l’équation différentielle, relation entre y’ et y :

y’ = f(y(t) ,t) pour t  [a,b] # on a une equ diff

y(a) = y 0 # et une C.I

Exemple :

1 y’+ y = et^ avec y dépend de t

 y’ = -y + et  y’ = f(y,t) où f(y,t ) = -y + et

2 y’+ ty^2 = sin(t)

 y’ = -ty^2 + sin(t)  y’ = f(y,t) où f(y,t ) = -ty^2 + sin(t)

Remarques :

Une équation différentielle est une relation entre une fonction, inconnue y de x qu'il s'agit de déterminer, et ses dérivées y ', y'' ... y ( n ). Une équation différentielle du premier ordre est une équation différentielle ne faisant intervenir que la dérivée première.

Résoudre une équation différentielle rev ient à trouver une fonction y(t) dont les déri vées sont solutions de l’équation.

{P} ad met une unique solution sous certaines hypothèses (système déterministe). Il n ’est pas toujours possible de trouver une expression analytique formule pour la solution de {P}. Donc, il faut parfois mettre en place des méthodes numéri ques pour les résoudre.

2. Résolution numérique – algorithme d’EULER

 h >0 est le pas de discrétisation avec h=(b-a)/n où n est le no mbre de points de calcul

(plus n est grand plus on est précis…mais attention aux erreurs arrondis car flottants !)

 y 0 est une C.I  t 0 = a, on connait y(t 0 )=y(a) = y 0

Quel est le principe de la méthode d’EULER?

Idée EULER : sur [t 0 ,t 0 +h], on rempl ace la soluti on par sa tangente.

rq : - si on veut valeur entre 2 pointson interpole

_- pour améliorer précision, on réduit le pas h

  • les valeurs y(ti) on ne les a pas, mais on peut avoir les_ valeurs approchées par les tangentes yi
  • la ligne brisée reliant les points (ti,yi) est appelée polygône d’EULER.

{P}

a=t 0 t 1 =t 0 +h t 2 =t 1 +h

y 0

ty(t) sol. de {P} exacte

y 1

y 2 val. appr

y(t 2 )

y(t 1 )

hf(y1,t1 )

Résolution par EULER d’équations différentielles

d’ordre 1

Dans le TP, pour programmer cet algorith me, vous devrez créer 2 listes :

 t: liste des ti, par défaut initialisée à 0, discrétisation de l'intervalle [a,b]  y: liste des yi, par défaut init ialisée à 0, appro ximation de la solution de {P}

3. Précisions par rapport au sujet de TP

Dans le TP, on va voir d' autres méthodes de résolution numéri que. On va analyser et comparer leur co mportements en fonction de h. On va pouvoir observer l'évolution de l'erreur en fonction de h (qui dépend aussi performances de la machine !)

On défin it l'erreur par: E(h) = max y (ti) - yi  avec y sol de {P} et y0,...,yn sol approchées

On dit que la méthode est d' ordre au mo ins p si E(h)  A.hp

la méthode d' EULER est d'ordre 1 car E(h) = O(h) donc linéaire

On va essayer d'observer l'ordre des méthodes et de les comparer ( EULER, HEUN, RK4 ) On co mprend que si l'ordre est grand, c'est bien, car augmente la précision.

3.1. Méthode de HEUN (ordre 2)

Avec Heun, j'intègre de tn à tn+1.

 y'(t) dt =  f(y(t),t) dt  y(tn+1) - y(tn) =  f(y(t ),t) dt

 y(tn+1) = y(tn) +  f(y(t),t) dt (1) # ressemble euler

On va approcher  par la méthode des trapèzes

 g(t) dt = h*g(tn)+g(tn+1)

donc (1)  y (tn+1) = y(tn) + (h/2)(f(y (tn),tn) + f(y(tn+1),tn+1)

= y(tn) + (h/ 2)(f(y(tn),tn) + f(y(tn) + hf(y(tn),tn),tn+1)

Et on retrouve la formu le du TP:

yn+1 = yn + (h/2)(f(yn,tn) + f(yn + hf(yn,tn),tn+1) # on fait simplifié écriture dans python : y(tn)yn

tn (^) tn+

y(tn)

y(tn+1)

y=g(t)

on fait un peu d'Euler

Résolution par EULER d’équations différentielles

d’ordre 1

3.2. Méthode de RK4 : Runge Kutta (ordre 4)

Avec Heun, on a remplacé les rectangles (fonction cte) par des trapèzes (polynôme 1er ordre ) , que puis je faire d'autre? Et b ien passer par un polynôme du 2nd degré...

Attention, avec un degré 2 il faut 3 coefficients (pt milieu ). Je cherche la parabolle qui passe par ces 3 points  approche aire au mieu x.

On arrive à la formu le du TP:

yn+1 = yn + (h/6)(f(yn,tn) + 2f(n,tn + h/2) + 2f(n,tn + h/2) + f(n, tn+1))

tn (^) tn+

y(tn)

y(tn+1)

y=g(t)

tn + tn+

tn+1+