Professional Documents
Culture Documents
UNIVERSIDAD DE PIURA
CÁLCULO NUMÉRICO
MÉTODO DE BISECCION – DOCENTE:
JOSÉ CARLOS LLANOS CASTAÑEDA
ALUMNO: EDWIN CALLE REYES
11
/*Nombre del programa: Método de la Bisección.
* Objetivo: Calcular las raíces del polinomio x3+5x-20
*/
#include<stdio.h>
#include<math.h>
/*VARIALBLES USADAS*/
float xr,xi,xu,fxr1,fxi,k,ea,xr1,xr2,aux,f;
int main(void)
{
printf("Programa del metodo de biseccion para la solucion de la funcion
(x*x*x)+5x-20.\n");
xi=-1;
xu=2;
xr2=0;
xr1=(xi+xu)/2;
printf("La raiz propuesta es: %f\n",xr1);
ea=fabs(((xr1-xr2)/xr1));
printf("El error es de: %f.",ea);
destino:
fxr1=(pow(xr1,3))+(5*xr1)-20;
printf("\nSustituyendo el valor de xr en la funcion, el resultado es:...
%f\n",fxr1);
fxi=(pow(xi,3))+(5*xi)-20;
printf("\nSustituyendo el valor de xi en la funcion, el resultado es:...
%f\n",fxi);
k=fxr1*fxi;
printf("El resultado de multiplicar las evaluaciones es: %f\n",k);
if(k>0)
{
xi=xr1;
xr2=(xi+xu)/2;
}
if(k<0)
{
xu=xr1;
xr2=(xi+xu)/2;
}
if(k==0)
{
printf("La raiz es = %f\n",xr1);
}
printf("La nueva raiz es: %f.\n",xr2);
ea=fabs(((xr2-xr1)/xr2));
printf("El error es de: %f.\n",ea);
if(ea<0.0001)
{
2
printf("\n\n\tLa raiz mas cercana es: %f\n",xr2);
f=(pow(xr2,3))+(5*xr2)-20;
printf("\tY la funcion evaluada en esa raiz es: %f\n",f);
return 0;
}
aux=xr2;
xr2=xr1;
xr1=aux;
goto destino;
3
Sustituyendo el valor de xi en la funcion, el resultado es:...-4.983154
El resultado de multiplicar las evaluaciones es: 17.649532
La nueva raiz es: 1.953125.
El error es de: 0.024000.
4
Sustituyendo el valor de xi en la funcion, el resultado es:...-2.024889
El resultado de multiplicar las evaluaciones es: 4.074985
La nueva raiz es: 1.999634.
El error es de: 0.000183.
C:\Dev-Cpp\biseccion>