Algoritmo metodo de biseccion

Solo disponible en BuenasTareas
  • Páginas : 2 (265 palabras )
  • Descarga(s) : 7
  • Publicado : 1 de agosto de 2010
Leer documento completo
Vista previa del texto
METODO DE BISECCION

#include<stdio.h> //declaracion de librerias
#include<math.h>
#include<stdlib.h>
float funcion(float);
main()//funcion peincipal
{
int t=0;
float xinicial,xfinal,xresultante,a=0,error,precision; //declaracion de variables
int iteraciones;
clrscr(); //borrar pantalla
printf("METODO DEBISECCION PARA f(x)"); // asignacion de valores y las guarda
printf("\nXinicial?"); //xi
scanf("%f",&xinicial); //guarda xi
printf("\nXfinal?");//xf
scanf("%f",&xfinal); //guarda xf
printf("\nError aproximado?"); //precision
scanf("%f",&precision); //guarda una precisionprintf("\nCuantas iteraciones deseas?"); //iteraciones
scanf("%d",&iteraciones); //guarda la cantidad de iteraciones
for(;;) //realiza ciclos, no especificacondiciones ya que el valor varia dependiendo los valores dados
{
xresultante=(xinicial+xfinal)/2.0; //formula para encontrar Xr
if(funcion(xresultante)==0) //condicioncuando se encuentra la raiz
{
break;
}
if((funcion(xinicial)*funcion(xresultante))<0) //determina donde se encuentra la raiz
{
xfinal=xresultante; //cambia xr como xfinal
}else //si no se cumple entonces
{
xinicial=xresultante; //asigna xr como xinicial
}
error=(xresultante-a)/xresultante; //formula para calcular el error
if(error>0) //error tieneque ser menor que cero
{
error=-1*error;
}
if(error<precision||t==iteraciones)
{
break;
}
a=xresultante; //imprime resultado si la condicion de error se cumple
}printf("\nXL:%f",xinicial); //imprime resultados
printf("\nXU:%f",xfinal);
printf("\nerror:%f",error);
printf("\nXR:%f",xresultante);
getch();
}
float funcion(float x) //funcion
{
float fx;...
tracking img