/* fichero newton.c */ /* cálculo de una raíz de un polinomio por el método de Newton */ #include #include #define EPS 10e-6 void main(void) { double x; double raiz=10.0, error=5.0; double f(double); double fd(double); double absoluto(double); while(error>EPS) { x = raiz; raiz = x-f(x)/fd(x); error = absoluto((raiz-x)/raiz); } printf("\nEl valor de la raiz es: %9lf\n",raiz); } double f(double x) { double y; y = x*x*x-3*x*x-x+3; return y; } double fd(double x) { double y; y = 3*x*x-6*x-1; return y; } double absoluto(double x) { if (x>=0) return x; else return -x; }