1
//Eduaardo Sánchez Ortiz
#includ de <conio.h>
#includ de <stdio.h>
#includ de <stdlib.h>
#includ de <math.h>
//Proto otipos de funciones
void Le eecturaDeVarriables();
float Fu uncion(doublle Xi, double X Xj);
//variaables globaless
double e Xi=0,Xj=0,Xkk=0, e=0;
int i=0;;
main ())
{
doub ble CC[i],CCO=0;
doub ble z=0;
printtf("\t****Me etodo de la po osicion falsa o o Regla Falsa*****\n\n");
printtf("Ecuacion: f(x)=x^3+2x^ ^2+10x‐20");
LeeccturaDeVariab bles();
Xk=FFuncion(Xi,Xj));
CC[00]=Xk;
CCO=fabs(Xk‐Xj);
printff("\n******* ************ *********** *********** ********************************************* *");
printtf("\n Iteracioon\t Xi\t\t Xj\\t\tf(x)\tCriterio de Converrgencia");
printtf("\n‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐");
printtf("\n%6i%15 5.5f%16.5f%17.5f%17.5f",i+1,Xi,Xj,Xk,CCCO);//IMPRIM ME TABLA DE ITERACIONESS
while e(CCO>=e)
{
i++;
2
z=(pow(Xk,3)+2*(pow(Xk,2))+(10*Xk)‐20);
if(z>0)
Xj=Xk;
else if(z<0)
Xi=Xk;
Xk=Funcion(Xi,Xj);
CC[i]=Xk;
CCO=fabs(CC[i]‐CC[i‐1]);
//ESTE ES EL CRITERIO DE CONVERGENCIA PARA
//ENCONTRAR EL RESULTADO DE LA RAIZ, LA FUNCION fabs NOS RETORNA EL VALOR ABSOLUTO DE
UNA CIFRA
printf("\n%6i%15.5f%16.5f%17.5f%17.5f",i+1,Xi,Xj,Xk,CCO);//IMPRIME TABLA DE ITERACIONES
}
if(CCO<e)
printf("\n\nRaiz Encontrada: %.5f",Xk);
getch();
return 0;
}
void LeecturaDeVariables(void)
{
printf("\nValor de Xi: ");
scanf("%lf",&Xi);
printf("\nValor de Xj: ");
scanf("%lf",&Xj);
printf("\nError Permitido: ");
scanf("%lf",&e);
}
float Funcion(double Xi, double Xj)
{
/* Los valores Xi y Xj se encuentran en lados opuestos de la raiz buscada de tal modo que sus valores
funcionales correspondientes tienen signos contrarios; se parte de estos dos valores iniciales con los que
se calcula la aproximacion a la raiz de la ecuacion Xk mediante la forma:
Xk= Xj ‐ ((Xj‐Xi)*f(Xj)/(f(Xj)‐f(Xi)))*/
double x=0,y=0,z=0;
x=(Xj‐Xi);
y=(pow(Xj,3)+2*pow(Xj,2)+10*Xj‐20);
z=(pow(Xi,3)+2*pow(Xi,2)+10*Xi‐20);
Xk=Xj‐((Xj‐Xi)*y)/(y‐z);
return Xk;
}