Académique Documents
Professionnel Documents
Culture Documents
Pratique 3.1
Phase de préparation :
Questions 1 et 2 :
En appliquant le TVI entre les points -1 et 1 on trouve :
𝑓 −1 = −1.52 ∗ 10!!
𝑓 1 = 1.999
Donc il existe un ‘C’ appartenant à l’intervalle [-1,1] tel que f(C)=0.
Question 3.
!
Pour une erreur de l’ordre de 10!! et en appliquant la relation : 2! = ! ! avec n étant le
!
nombre d’itérations et 𝜖! = 1 − −1 = 2 on trouve :
2
𝑛 = 𝑙𝑜𝑔! ~28 𝑖𝑡é𝑟𝑎𝑡𝑖𝑜𝑛𝑠
10!!
Phase de Simulation :
1. Programme de la Bissection :
#include <stdio.h>
#include <math.h>
double f(double);
double a=-1.;
double b=1.;
double epsilon=0.00000001;
double f(double);
int i=1;
int main(){
FILE *fichier=fopen("Bissection.dat","w");
double c=(a+b)/2.;
while (fabs(f(c))>epsilon) {
if (f(a)*f(c)<0)b=c;
else a=c;
c=(a+b)/2.;
printf("%d\t%lf\t%lf\n",i,c,f(c));
fprintf(fichier,"%d\t%lf\t%lf\n",i,c,f(c));
i++;
}
fclose(fichier);
return 0;
#include <stdio.h>
#include <math.h>
double f(double);
double x=-1.;
double epsilon=0.00000001;
double f(double);
double df(double);
int i=1;
int main(){
FILE *fichier=fopen("NewtonRaphson.dat","w");
while (fabs(f(x)/df(x))>epsilon) {
x=x-(f(x)/df(x));
printf("%d\t%lf\t%lf\n",i,x,f(x));
fprintf(fichier,"%d\t%lf\t%lf\n",i,x,f(x));
i++;
}
fclose(fichier);
return 0;
}
int main(){
FILE *fichier=fopen("PointFixe.dat","w");
while (fabs(f(x)-x)>epsilon) {
x=f(x);
printf("%d\t%lf\t%lf\n",i,x,f(x));
fprintf(fichier,"%d\t%lf\t%lf\n",i,x,f(x));
i++;
}
fclose(fichier);
return 0;
}
Le programme a nécessité 45 itérations pour arriver à la solution de l’équation et se
stabiliser sur la valeur 0.739085.