#include
#define CERO 0.000001
float f(float x){
return (x*x)-2.0;
}
float df(float x0,float x1){
return ((f(x1)-f(x0) )/ (x1-x0) );
}
/*****************************************************/
float Secante(float p0, float p1 , float tol, int n){
int i=0;
float p,q0,q1;
q0=f(p0);
q1=f(p1);
while ((fabs(p1-p0) > tol) && (fabs(f(p)) > CERO)) {
i++;
p = p1- q1*(p1-p0)/(q1-q0);
if( fabs(p-p1) > CERO )
return p;
p0=p1;
q0=q1;
p1=p;
q1=f(p);
}
printf("el n de iteraciones es %d\n", i);
return(p);
}
/**********************************************************/
int main()
{
printf("La solucion es: %.16e\n\n", Secante(-2.0 , 2.0, 0.000001,10));
return 0;
}
2 comentarios:
tu codigo no sirveeeeeee
no me sirvio, no llega a ningun resultado y aparece una raiz erronea
Publicar un comentario