Vous êtes sur la page 1sur 10

TP : Analyse numérique

Application des algorithmes de résolutions des équations


différentielles

Fait par : Karim RAJI et Badr SAYAGH

Encadré par professeur : Naima ZAHAR

SMP S6 : département physique


2020-2019
1.
2.a
#include<stdio.h>
//KARIM RAJI BADR SAYGH
main ()
{

float a,b,t,y,h=0.1,n,k;
printf("Methode d'Euler \n ");
printf("Donner svp le t0 : ");
scanf("%f",&a);
printf("Donner svp le y0 : ");
scanf("%f",&b);
printf("Donner svp le nombre maximal d’itérations N:");
scanf("%f",&n);
t=a;
y=b;
printf("\n t\t\t\t y\n");
printf("%f\t\t\t%f\n\n\n\n\n",t,y);
while(t<(n/10))
{

k=h*(-y+t+1);
y=y+k;
t=t+h;
printf("%f\t\t\t%f\n",t,y);

}
printf("MERCI POUR VOTRE ATTENTION ");

}
2.b
t(i) y(ti) yi
0 1 1
0,1 1,004837 1
0,2 1,018731 1,01
0,3 1,040818 1,029
0,4 1,070302 1,0561

l’évolution de la solution exacte en fonction de lasolution


approché h=0.1
1,08
1,07
1,06
1,05
1,04
1,03
1,02
1,01
1
0,99
0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45

Solution exacte solution approché

Les deux courbes sont à peu près confondus par conséquent la solution Yi si
une solution approchée de la solution exacte.
3.a pour un pas h = 0.05
#include<stdio.h>
//KARIM RAJI BADR SAYGH
main ()
{

float a,b,t,y,h=0.05,n,k;
printf("Methode d'Euler \n ");
printf("Donner svp le t0 : ");
scanf("%f",&a);
printf("Donner svp le y0 : ");
scanf("%f",&b);
printf("Donner svp le nombre maximal d’itérations N:");
scanf("%f",&n);
t=a;
y=b;
printf("\n t\t\t\t y\n");
printf("%f\t\t\t%f\n\n\n\n\n",t,y);
while(t<(n/10))
{

k=h*(-y+t+1);
y=y+k;
t=t+h;
printf("%f\t\t\t%f\n",t,y);

}
printf("MERCI POUR VOTRE ATTENTION ");
}
Pour un pas h = 0.025

#include<stdio.h>
//KARIM RAJI BADR SAYGH
main ()
{

float a,b,t,y,h=0.025,n,k;
printf("Methode d'Euler \n ");
printf("Donner svp le t0 : ");
scanf("%f",&a);
printf("Donner svp le y0 : ");
scanf("%f",&b);
printf("Donner svp le nombre maximal d’itérations N:");
scanf("%f",&n);
t=a;
y=b;
printf("\n t\t\t\t y\n");
printf("%f\t\t\t%f\n\n\n\n\n",t,y);
while(t<(n/10))
{

k=h*(-y+t+1);
y=y+k;
t=t+h;
printf("%f\t\t\t%f\n",t,y);

}
printf("MERCI POUR VOTRE ATTENTION ");
}
3.b pour h=0.05

t(i) y(ti) yi
0 1 1
0,05 1,001229 1
0,1 1,004837 1,0025
0,15 1,010707 1,007375
0,2 1,01873 1,014506
0,25 1,0288 1,023781
0,3 1,040818 1,035092
0,35 1,054688 1,048337
0,4 1,07032 1,063421
h=0,05
1,08
1,07
1,06
1,05
1,04
1,03
1,02
1,01
1
0,99
0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45

solution exacte solution approché

Pour h = 0.025

t(i) y(ti) yi
0 1 1
0,025 1,000309 1
0,05 1,001229 1,000625
0,075 1,002743 1,001859
0,1 1,004837 1,003688
0,125 1,007496 1,006096
0,15 1,010707 1,009068
0,175 1,014457 1,012592
0,2 1,01873 1,016652
0,225 1,023516 1,021236
0,25 1,0288 1,02633
0,275 1,034572 1,031922
0,3 1,040818 1,037998
0,325 1,047527 1,044549
0,35 1,054688 1,05156
0,375 1,062289 1,059021
0,4 1,07032 1,06692
h=0,025
1,08

1,07

1,06

1,05

1,04

1,03

1,02

1,01

0,99
0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45

Série1 Série2

En remarque que lorsque le pas h diminue la précision


augmente.

Vous aimerez peut-être aussi