Método secante
Enviado por ricardosalavdor • 31 de Agosto de 2015 • Práctica o problema • 530 Palabras (3 Páginas) • 121 Visitas
PRACTICA #5
SECANTE#include
#include
#include
#include
double f(float Xi);
double f1(float Xr);
int main(void){
int SI=1;
do{
system("cls" );
float Xi=0,Ea=0,Xz=0,Xr=0;
int cont=0;
printf("\t\tPRACTICA #5\n" );
printf("\t METODO DE LA SECANTE\n" );
printf("introduce Xi:\n" );
scanf("%f",&Xi);
printf("\n\nI Xi-1 Xi Xi+1 f(Xi-1) f(Xi) Ea\n" );
do{
Xr=(Xi-1);
Xz= Xi-((f(Xi)*(Xr-Xi))/(f1(Xr)-f(Xi)));
Ea=fabs((Xz-Xi)/Xz)*100;
printf("%d %f %.5f %.5f %.5f %.5f %fn",cont,Xr,Xi,Xz,f1(Xr),f(Xi),Ea);
cont++;
Xi=Xz;
}while(Ea>=0.05);
printf("DESEAS REALIZAR LA OPERACION OTRA VEZ? SI[1] NO[2]\n" );
scanf("%d",&SI);
}while(SI<=1);
system("PAUSE" );
}
double f(float Xi){
return (exp(-Xi))-Xi;
}
double f1(float Xr){
float n = (exp(-Xr))-Xr;
return n;
}
[pic 1]
PRACTICA #4 METODO NEWTON RAPSON
CODIGO EN C:
#include
#include
#include
#include
double f(float Xi);
double f1(float Xi);
int main(void){
int SI=1;
do{
system("cls" );
float Xi=0,Ea=0,Xz=0;
int cont=0;
printf("\t\t\tPRACTICA #4\n" );
printf("\t\t METODO DE NEWTON-RAPSON\n" );
printf("introduce Xi:\n" );
scanf("%f",&Xi);
printf("\n\n Xi \nf(Xi) \nf1(Xi) Ea\n" );
do{
Xz=Xi-(f(Xi)/f1(Xi));
Ea=((Xz-Xi)/Xz)*100;
printf("%d %f %.2f %.2f %f n",cont,Xi,f(Xi),f1(Xi),Ea);
Xi=Xz;
cont++; }
while(Ea>=0.005);
printf("\n\n\n" );
printf("DESEAS REALIZAR LA OPERACION OTRA VEZ? SI[1] NO[2]\n" );
scanf("%d",&SI);
}while(SI<=1);
system("PAUSE" );
return 0;
}
double f(float Xi)
{
float z= (exp(-Xi))-Xi;
return z;
}
double f1(float Xi)
{
float n = (-exp(-Xi))-1;
return (n);
}
PROGRAMA FUNCIONANDO
[pic 2]
PRACTICA #3 FALSA POSICION
CODIGO C:
#include
#include
#include
#include
double f(float X);
int main(void){
int SI=1;
do{
system("cls" );
float Xi,Xu,Xr,Xn,Ea,comp;
int cont=0;
//clrscr();
printf("\t\t\t PRACTICA #3\n" );
printf("\t\t METODO DE LA FALSA POSICION\n" );
printf("introduce Xu:\n" );
scanf("%f",&Xu);
printf("introduce Xi:\n" );
scanf("%f",&Xi);
printf("\n Xu Xi Xr f(Xu) f(Xi) f(Xr) Ea\n" );
Xr=Xu-((f(Xu)*(Xi-Xu))/(f(Xi)-f(Xu)));
printf("%.5f %.5f %.5fn",Xu,Xi,Xr);
do{
comp=f(Xu)*f(Xr);
if(comp==0)
printf("La raiz es %f",Xi);
else
if(comp<0)
Xi= Xr;
else
Xu= Xr;
Xn=Xu-((f(Xu)*(Xi-Xu))/(f(Xi)-f(Xu)));
Ea=((Xn-Xr)/Xn)*100;
printf("\n%.5f \n%.5f \n%.5f \n%.5f \n%.5f \n%.5f \n%.5f\n%\n\n",Xu,Xi,Xn,f(Xu),f(Xi),f(Xr),Ea);
Xr=Xn;
}while(Ea>=1);
printf("nnn" );
printf("DESEAS REALIZAR LA OPERACION OTRA VEZ? SI[1] NO[2]n" );
scanf("%d",&SI);
}while(SI<=1);
printf("\n\n\n" );
system("PAUSE" );
return 0; }
double f(float X)
{
return pow(X,4)+3*pow(X,3)-2;
...