Vous êtes sur la page 1sur 7

PLAN DU TRAVAIL

I. METHODE D’EULER POUR LA RESOLUTION DE L’EQUATION DIFFERENTIELLE


Y’(t)= Y + 1

1. CAS OU LE PAS EST : h= 0.1


2. CAS OU LE PAS EST : h= 0.05
3. CAS OU LE PAS EST : h= 0.01

II. METHODE DE RUNGE KUTTA 2 POUR LA RESOLUTION DE L’EQUATION DIFFERENTIELLE


Y’(t)= Y + 1

1. CAS OU LE PAS EST : h= 0.1


2. CAS OU LE PAS EST : h= 0.05
3. CAS OU LE PAS EST : h= 0.01

1
I. METHODE D’EULER POUR LA RESOLUTION DE L’EQUATION DIFFERENTIELLE
Y’(t)= Y + 1

1. CAS OU LE PAS EST h= 0.1


% Resolution numerique et analytique de l'équation differencielle suivant par
la méthode d'Euler
% y' = y + 1
% y(0) = 0
% les conditions initiales sont les suivantes:
t0 = 0;
y0 = 0;
tfinal = 1;
h = 0.1;
% le nombre de pas est
N = (tfinal-t0)/h;

%% Initialisation des solutions

disp('PRESENTATION DE L ALGORITHME D EULER');


disp('yn+1 = yn + h*f(Tn, Yn)');
disp('tn+1 = tn + h');
disp('t0 = a, tn = t0 + nh pour tout n appartenant à {1,2,...N}');
disp('dans notre exercice, f(t,y)= y(t)+1');

T = [t0:h:tfinal]';
Y = zeros(1,N+1);

%% solution numérique
for n = 1:N
fn = Y(n) + 1;
Y(n+1) = Y(n) + h*fn;
end

%% solution analytique
solution_exacte = exp(T)-1;
for n = 1:N
sol_anal = exp(T)-1;
end

%% calcul de l'erreur
for n = 1:N
Err = abs(Y(n+1)- sol_anal);
end

%% tracé des courbes de la solution analytique, numerique et de l'erreur


plot(T,Y,'r');
hold on;
plot(T,sol_anal, 'b');
hold on;
plot (T,Err,'-.')

2
1.8
solution numérique
1.6 solution analytique
évolution de l'erreur
1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
figure1 : h=0.1

2. CAS OU LE PAS EST : h= 0.05


Il suffit de remplacer dans le script précèdent la valeur du pas h= 0.1 par
0.05. On obtient la figue 2 ci-dessous.

1.8
solution numérique
1.6 solution analytique
évolution de l'erreur
1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
figure2 : h=0.05

3
3. CAS OU LE PAS EST : h= 0.01
Il suffit de remplacer dans le script précèdent la valeur du pas h= 0.05 par
0.01. On obtient la figue 3 ci-dessous.

1.8
solution numérique
1.6 solution analytique
évolution de l'erreur
1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
figure 3: h=0.01

4
II. METHODE DE RUNGE KUTTA 2 POUR LA RESOLUTION DE L’EQUATION
DIFFERENTIELLE Y’(t)= Y + 1

1) CAS OU LE PAS EST : h= 0.1


% Resolution numerique et analytique de l'équation differencielle suivant
% par la méthode de Runge Kutta d'ordre 2
% y' = y + 1
% y(0) = 0
% les conditions initiales sont les suivantes:
t0 = 0;
y0 = 0;
tfinal = 1;
h = 0.1;
% le nombre de pas est
N = (tfinal-t0)/h;

%% Initialisation des solutions


T = [t0:h:tfinal]';
Y = zeros(1,N+1);

%% solution numérique
disp('PRESENTATION DE L ALGORITHME DE RUNGE KUTTA 2');
disp('yn+1 = yn + h/2(K1+K2)');
disp('K1 = f(Tn, Yn) et K2 = f(tn + h, Yn + h.K1)');
disp('tn+1 = tn + h');
disp('t0 = a, tn = t0 + nh pour tout n appartenant à {1,2,...N}');
disp('dans notre exercice , f(t,y)= y+1');

for n = 1:N
fn = Y(n) + 1;
k1 = fn;
k2 = Y(n) + h*k1;
Y(n+1) = Y(n) + (h*(k1+k2))/2;
end

%% solution analytique
solution_exacte = exp(T)-1;
for n = 1:N
sol_anal = exp(T)-1;
end

%% calcul de l'erreur
for n = 1:N
Err = abs(Y(n+1)- sol_anal);
end

%% %% tracé des courbes de la solution analytique, numerique et de l'erreur


plot(T,Y,'r');
hold on;
plot(T,sol_anal, 'b');
hold on;
plot (T,Err,'-.')

5
1.8
solution numérique
1.6 solution analytique
évolution de l'erreur
1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
figure 1: h= 0.1

2) CAS OU LE PAS EST : h= 0.05


Il suffit de remplacer dans le script précèdent la valeur du pas h= 0.1 par
0.05. On obtient la figue 2 ci-dessous.

1.8
solution numérique
1.6 solution analytique
évolution de l'erreur
1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
figure 2: h=0.05

6
3) CAS OU LE PAS EST : h= 0.01
Il suffit de remplacer dans le script précèdent la valeur du pas h= 0.05
par 0.01. On obtient la figue 3 ci-dessous.

1.8
solution numérique
1.6 solution analytique
évolution de l'erreur
1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
figure 3: h=0.01