dimanche 26 mai 2013

Algorithme de la Méthode de Newton en Langage C

Algorithme de la Méthode de Newton en Langage C :

Dans l’exemple ci-dessous nous cherchons la racine de l’équation Ln(x) = 0 dans l’intervalle ]0, +∞[ avec x0 comme valeur initiale choisie par l’utilisateur.

#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#define EPS 1.0e-15 // Précision voulue
#define N 1000 // Nombre maximal d'itérations
double f(double x)
{
return log(x); //Ln(x) comme test
}
double df(double x)
{
return 1.0/x; // Dérivée de Ln(x)
}
voidmain()
{
double x0; // Valeur Initiale
double *x; // tableau des valeurs Xi
x = (double *)calloc(N,sizeof(double));
printf("entrer la valeur initiale X0: \n");
scanf("%lf",&x0);//L'utilisateur choisi une valeur de départ
x[0] = x0;
for(int i=0;i<N;i++)
{
x[i+1] = x[i] - f(x[i])/df(x[i]); // Calcul des X[i+1] selon Newton
if( fabs(x[i+1] - x[i]) <=EPS) // On test l'inégalité
{
printf("NBRE D'ITERATIONS = %d\t X=%18.16g\n",i,x[i+1]);
exit(0);
}
}
delete [] x;// On libère la mémoire à la fin des calculs
}

Aucun commentaire:

Enregistrer un commentaire