0% ont trouvé ce document utile (0 vote)
38 vues5 pages

TD Sue Les Équations Différentielles À Conditions Initiales: Exercice 1

Le document présente des exercices sur la résolution d'équations différentielles à l'aide de différentes méthodes numériques, notamment la méthode de Runge-Kutta d'ordre 4, la méthode d'Euler et la méthode de Heun. Chaque exercice inclut des équations, des calculs détaillés et des scripts Matlab pour illustrer les solutions. Les résultats sont présentés sous forme de tableaux et de graphiques pour visualiser les solutions obtenues.

Transféré par

AN AS
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)
38 vues5 pages

TD Sue Les Équations Différentielles À Conditions Initiales: Exercice 1

Le document présente des exercices sur la résolution d'équations différentielles à l'aide de différentes méthodes numériques, notamment la méthode de Runge-Kutta d'ordre 4, la méthode d'Euler et la méthode de Heun. Chaque exercice inclut des équations, des calculs détaillés et des scripts Matlab pour illustrer les solutions. Les résultats sont présentés sous forme de tableaux et de graphiques pour visualiser les solutions obtenues.

Transféré par

AN AS
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

TD sue les équations différentielles à

conditions initiales

Exercice 1 : Résoudre l'équation différentielle suivante avec la méthode de Runge-Kutta d'ordre 4 :


𝑦 =𝑦− 𝑡 +1

𝑦(0) = , t € [0,2]

Solution d’exercice 1 : Les formules de la méthode de Runge-Kutta d'ordre 4 sont les suivantes :
1
𝑦 = 𝑦 = (𝑘 + 2𝑘 + 2𝑘 + 𝑘 ) , 𝑎𝑣𝑒𝑐 ∶
6

𝑘 = ℎ𝑓(𝑡 , 𝑦 ),
ℎ 𝑘
𝑘 = ℎ𝑓 𝑡 + ,𝑦 + ,
2 2
ℎ 𝑘
𝑘 = ℎ𝑓 𝑡 + , 𝑦 + ,
2 2
𝑘 = hf(𝑡 + h , 𝑦 + 𝑘 )

On prend 𝑁 = = 20 , donc : 𝑡 = [0 , 0.1 , 0.2 , … , 2] ,

 Pout t = 𝑡 ∶

𝑘 = 0.1 × (0.5 − 0 + 1 ) = 0.15


0.15 0.1
𝑘 = 0.1 × 0.5 + − 0+ +1 = 0.15725
2 2
0.15725 0.1
𝑘 = 0.1 × 0.5 + − 0+ +1 = 0.1576125
2 2
𝑘 = 0.1 × (0.5 + 0.1576125 − 0.1 + 1) = 0.16476125
Donc 𝑦 = 𝑦 + (0.15 + 2 × 0.15725 + 2 × 0.1576125 + 0.16476125)
= 0.65741437.

On utilise le script suivant dans Matlab pour obtenir les valeurs suivantes :

f = @(t, y) y - t^2 + 1;

t0 = 0;
y0 = 0.5;
h = 0.1;
tf = 2;
N = (tf - t0) / h;

t = t0:h:tf;
y = zeros(1, N+1);
y(1) = y0;

for i = 1:N
k1 = h * f(t(i), y(i));
k2 = h * f(t(i) + h/2, y(i) + k1/2);
k3 = h * f(t(i) + h/2, y(i) + k2/2);
k4 = h * f(t(i) + h, y(i) + k3);
y(i+1) = y(i) + (k1 + 2*k2 + 2*k3 + k4) / 6;
end

figure;
plot(t, y, '-o')
title('Exercice 1: Runge-Kutta d''ordre 4')
xlabel('t')
ylabel('y')
grid on

On obtient le tableau suivant :


𝑡 𝑦 𝑘 𝑘 𝑘 𝑘 𝑦
0. 0.5 0.15 0.15725 0.1576125 0.16476125 0.65741437
0 5
0. 0.65741437 0.18374143 0.1920286093 0.192342368 0.201975674 0.84909770
1 5 75 75 75 61
0. 0.84909770 0.22490977 0.2346502590 0.234918283 0.245401598 1.07610647
2 61 06 6 53 05 5

Exercice 2 : Résoudre l'équation différentielle suivante avec la méthode d'Euler :

𝑦 = 3𝑡 − 𝑦 , avec t € [0,1]
𝑦(0) = 1

Solution d’exercice 2 :
La méthode d'Euler pour résoudre une équation différentielle de la forme précédente est donnée par la
formule récursive :

𝑦 = 𝑦 + ℎ𝑓(𝑡 + 𝑦 )

On prend 𝑁 = = 10 , donc ℎ = 0.1


Donc : t = [0, 0.1, 0.2, …, 1.0]

 Pour 𝑡 = 0 , on a :
𝑦 = 𝑦 + ℎ𝑓(𝑡 , 𝑦 ) = 1 + 0.1 ⋅ (3 ⋅ 0 − 1) = 0.9
 Pour 𝑡 = 0.1, on a :
𝑦 = 𝑦 + ℎ𝑓(𝑡 , 𝑦 ) = 0.813
 Pour 𝑡 = 0.2, on a :
𝑦 = 𝑦 + ℎ𝑓(𝑡 , 𝑦 ) = 0.7437

Donc on utilise le script suivant dans Matlab pour Calculer les restes valeurs :

f = @(t, y) 3*t^2 - y;

t0 = 0;
y0 = 1;
h = 0.1;
tf = 1;
N = (tf - t0) / h;
t = t0:h:tf;
y = zeros(1, N+1);
y(1) = y0;

for i = 1:N
y(i+1) = y(i) + h * f(t(i), y(i));
end

figure;
plot(t, y, '-o')
title('Exercice 2: Méthode d''Euler')
xlabel('t')
ylabel('y')
grid on

Donc, on obtient le tableau suivant :

𝑡 𝑦 𝑦
0.0 1.0000 −1.0000
0.1 0.9000 −0.8700
0.2 0.8130 −0.6930
0.3 0.7437 −0.4812
0.4 0.6956 −0.2345
… … …
1.0 0.9320 1.2744

Exercice 3 : Résoudre l'équation différentielle suivante avec la méthode de Heun (Euler modifiée) :

𝑦 = sin(𝑡) . 𝑦
𝑦(0) = 1 , 𝑎𝑣𝑒𝑐 𝑡 € [0,2]

Solution d’exercice 3 :

La méthode de Heun (ou Euler modifiée) est une méthode de prédicteur-correcteur. Les formules
sont les suivantes :

𝑦 = 𝑦 + 𝑓(𝑡 , 𝑦 ) + 𝑓 𝑡 ,𝑦
2
𝑎𝑣𝑒𝑐 ∶ 𝑦 = 𝑦 + ℎ𝑓(𝑡 , 𝑦 )
𝑦 , = 1 + 0.1 × 0 = 1, 𝑑𝑜𝑛𝑐 𝑦 = 1.004992

Vous aimerez peut-être aussi