/* Autor: Duran Rosique Alberto
Objetivo: Encontrar el cero de la función mediante el método de newton */
#include
#include
float f(float x)
{
return pow(M_E,-x)-x;
}
float f_(float x)
{
return -(pow(M_E,-x)+1);
}
float ea(float a, float b)
{
return (sqrt(((a-b)/a)*((a-b)/a)))*100;
}
int main()
{
float x, xi, ee;
int i;
printf("\nValor inicial:\t");
scanf("%f",&xi);
printf("\nError de aproximacion:\t");
scanf("%f",&ee);
for(i=1; ;i++){
x = xi - ( f(xi) / f_(xi) );
printf("\n\nIteracion %d:", i);
printf("\n%f = %f - ( %f / %f)", x, xi, f(xi), f_(xi));
printf("\nx[%d] = %.4f;f(x) = %.10f", i, x, f(x));
printf("\nError de aproximacion: %.2f%%", ea(x,xi));
if ( ea(x,xi) < ee || f(x) == 0 ) break;
xi = x;
}
printf("\n\nEl valor aproximado de la raiz es: %.4f;\tf(x) = %.10f\n",x,f(x));
getchar(); getchar();
return 0;
}
               (
geocities.com/mx)