jueves, 24 de enero de 2008

Método Newton Raphson en lenguaje C (solo)

#include
#include
#define CERO 0.000000001

/*Funcion que queremos aproximar*/
float f(float x){
return (x*x*x*x*x)+(x*x)-9;
}

/*Derivada de la función a aproximar*/
float df(float x){
return (5*(x*x*x*x)+2*x);
}

float Newton_Rapson(float p, float tol, int n){
int i=0;
float np;
np=p;

if(fabs(df(p))>CERO)
p = p-(f(p)/df(p));

while ((fabs(np-p) > tol) && (fabs(f(p)) > CERO) && (i i++;
np=p;
if(fabs(df(p))>CERO)
p =p-(f(p)/df(p));
}

if (i==n)
printf("\nSe alcanzo el numero maximo de iteraciones.\n");

return(p);
}

int main()
{
float sol;
sol=Newton_Rapson(1.5, 0.001, 50);
printf("\nLa solucion a Newton-Raphson es la raiz: %f\n", sol);
return 0;
system ("pause");
}

7 comentarios:

Anónimo dijo...

no mames no le entiendo ni madre al codigo esta mejor en java... .|.

Anónimo dijo...

esta bien chido tu codigo we si te la mamo =)

Anónimo dijo...

Tu madre esa mierda no funciona!

Anónimo dijo...

este codigo es copiado de otros y ademas esta anbiguo ni lo copien.

Anónimo dijo...

El codigo esta bien para ese caso. Solo que es rígido. No permite agregar otra función (matemáticas) - calculo de derivada.Y no tiene control del número de iteraciones (puede desbordar a la máquina si no se tiene control).

Unknown dijo...

no sirve para verga tu programa votate

tugfaprro dijo...

esta todo mal no mms pendejo , no me corre el programa , por tu culpa ya reprobe metodos, ya mejor vendo avon
>:(