Programa para encontrar la raiz de una ecuacion regla falsa
#include
#define FALSE 0
#define FALSE 1
int false( double xa, double xb, double epsilon,int max_iter,
double *ptr_root, double *ptr_num_iter);
voidmain(void);
double f(double x);
void main(void)
{
double xa,xb,epsilon,root;
int max_iter,ret_value,num_iter;
printf("/n/n raices de una ecuacion con el metodode la regla falsa");
printf("/n/n limite izquierdo del intervalo");
scanf("%f",&xa);
printf("/n/n limite derechodel intervalo");
scanf("%f",&xb);printf("/n/n incerta la toleracncia del error deseada");
scanf("%f",&epsilon);
printf("/n/n el numero maximo de iteraciones");
scanf("%d", &int_max);
ret_value=false_position(xa,xb,epsilon,max_oter,&root,&num_iter);
switch(ret_value)
{
case 0printf("/n/n la raiz de la ecuacion = %16.101e", root);
printf("/n/n/n numero de iteraciones =%d", num_iter);
printf/" /n/n/n el valor de la funcion en laraiz = %16.101", f(root);
break
case 1
printf("/n/n/n error de datos el valor de los limites /n del intervalo tiene el mismo signo");break
case 2
printf("/n/n no converge despues de %d iteraciones", num_iter);
printf("/n/n/n valor estimado de la funcion %f",root );
printf/" /n/n/n el valor de la funcion del valor estimado es = %16.101", f(root);
break
}
int false_position(double xa,double xb,doubleepsilon, int max_iter,
double *ptr_root, int *ptr_num_iter)
{
double x_new;
double x_ prev;
if( f(xa) * f(xb) > 0.0 )...
Regístrate para leer el documento completo.