Ecole nationale d’ingénieurs
Abderhamane Baba Touré
GME-A L2-S3
Rapport de TP : Calcul numérique
Groupe 5
Ramata Diallo
Hawa Coulibaly
Yssouf Doumbia
Soumaila Dembélé
Seydou Traoré
Enoncé : f(x)=xcos(x)+1 sur [0 ;𝜋]
Solution :
La methode de secante
#include <stdio.h>
#include <math.h>
float f(float x);
float absolue(float nombre);
int main()
float xn, xnSuivant, e;
printf("Entrez x0 d'abord: ");
scanf("%f", &xn);
printf("Entrez maintenant x1: ");
scanf("%f", &xnSuivant);
printf("Entrez l'ordre de precision: ");
scanf("%f", &e);
int n=0;
float erreur, xnPrecedent;
do
printf("iteration n=%d|", n);n++; printf("Xn=%.10f|", xn);
printf("Xn+1=%.10f|", xnSuivant); printf("f(Xn)=%.10f|",
f(xn)); printf("f(Xn+1)=%.10f|", f(xnSuivant));
erreur= absolue(xnSuivant-xn); printf("Erreur=%.10f",
erreur);
printf("\n");
xnPrecedent=xn;
xn=xnSuivant;
xnSuivant= xn-(f(xn)/(f(xn)-f(xnPrecedent)))*(xn-
xnPrecedent);
} while(erreur>e);
printf("\nLa racine de f avec une precision de %.3f est
x*=%.10f\n", e, xn);
printf("le nombre d'iteration est %d et le cout est 5",n);
return 0;
}
float f(float x)
return (x*cos(x))+1;
float absolue(float nombre)
if(nombre<0)
nombre=-nombre;
return nombre;
Compilation :
La methode de Newton
#include <stdio.h>
#include <math.h>
float f(float x);
float fPrim(float x);
float absolue(float nombre);
int main()
float xn, e;
printf("Entrez x0 :");
scanf("%f", &xn);
printf("Entrez la precision: ");
scanf("%f", &e);
int n=0;
float erreur, xnSuivant;
do
printf("iteration n=%d|", n);n++; printf("Xn=%.10f|", xn);
xnSuivant= xn-(f(xn)/fPrim(xn)); printf("Xn+1=%.10f|",
xnSuivant);
printf("f(Xn)=%.10f|", f(xn));
printf("f(Xn+1)=%.10f|", f(xnSuivant));
erreur= absolue(xnSuivant-xn); printf("Erreur=%.10f",
erreur);
printf("\n");
xn=xnSuivant;
} while(erreur>e);
printf("\nLa racine de f avec une precision de %.3f est
x*=%.10f\n", e, xn);
printf("Le nombre d'iteration est %d et le cout est 6",n);
int rep;
printf("\nEntrez n'importe quoi pour fermer: ");
return 0;
}
float f(float x)
return (x*cos(x))+1;
float absolue(float nombre)
if(nombre<0)
nombre=-nombre;
return nombre;
float fPrim(float x)
return cos(x)-(x*sin(x));
}
Compilation :