Está en la página 1de 8

Newton: #include<conio.h> #include<stdio.h> #include<math.

h> double f(double); main() { double xi=0,xf=0,Dx=0,y=0; printf("programa que tabula una funcion \n "); printf("en el intervalo( xi,xf) con incrementos DX \n "); printf("escribe los datos solicitados : \n "); printf("xi= "); scanf("%lf",&xi); printf("xf= "); scanf("%lf",&xf); printf("Dx= "); scanf("%lf",&Dx); printf("\tx\t|\ty\n"); printf("\t---------------------------------------\n"); do { y=f(xi); printf("\t%lf\t|\t%lf\n",xi,y); xi+=Dx; } while(xi<=xf); printf("cualquier tecla para fin \n"); getch(); } double f(double x) { return 4*log10(3000*sqrt(x))-0.4-1/sqrt(x) }

Punto fijo: #include<conio.h>

#include<stdio.h> #include<conio.h> #include<windows.h> #include<math.h>

double g(double); int main() { double x0,x1,Es,Ea; int i,ni; printf ("metodo de las sustituciones sucesivas \n "); printf ("para aproximar raices de funciones \n "); printf("escribe la primera aproximacion e la raiz \n "); printf("x0= "); scanf("%lf",&x0); printf("escribe el error sugerido \n "); printf("Es= "); scanf("%lf",&Es); printf("escribe cuantas interacciones\n "); printf("ni= "); scanf("%d",&ni); i=0; do { x1=g(x0); Ea=fabs((x1-x0)/x1)*100; x0=x1; i=i+1; } while(Ea>Es &&i<=ni); if (Ea<=Es) { printf("la raiz aproxiada es %0.8lf \n ",x1); } else { printf("no hay convergencia despues de %d interacciones \n ",ni); }

printf("cualquier tecla para terminar "); getch(); } double g(double x) { return 0.04*(1-x)/sqrt(7/(2+x) ); }

Biseccion: #include<conio.h> #include<stdio.h> #include<windows.h> #include<math.h> double Biseccion (double,double,double);

double f(double); int main() { double a,b,Es; printf ("metodo de biseccion "); printf("aproximar raices de una \n"); printf("aproximar raices de una \n "); printf("funciones no lineal \n "); printf(" \n escribe los limites del intervalo (a,b)\n "); printf(" \n a= "); scanf("%lf",&a); printf(" \n b= "); scanf("%lf",&b);

if( f(a)*f(b)<0) { printf("escribe el error sugerido : \n "); printf("Es= "); scanf("%lf" ,&Es); Biseccion (a,b,Es ); } else { printf("en el intervalo (%lf,%lf) no hay raiz \n ",a,b); } printf("cualquier tecla para terminar "); getch(); }

double Biseccion(double a, double b ,double Es ) { double x1,x2,Ea; x1=(a+b)/2;

do { if(f(a)*f(x1)<0) b=x1;

if(f(a)*f(x1)>0 ) a=x1 ; if(f(a)*f(x1)==0 ) { printf("la raiz es : %lf \n",x1); return 0; } x2=(a+b)/2; Ea=fabs((x2-x1))/2*100; x1=x2; } while(Ea>Es); printf("la raiz aproximada es :\n"); printf("x1=%0.8f \n ",x1); return 0; } double f( double x) { return 75*exp(-1.5*x)+20*exp(-0.07*x)-15 ; }

Secante: #include<stdio.h> #include<conio.h> #include<windows.h> #include<math.h>

double f(double); double df(double); int main() {

double x0,x1,x2,Es,Ea; int i,ni; printf ("METODO DE secante \n "); printf ("para aproximar raices de funciones \n "); printf("escribe la primera aproximacion e la raiz \n "); printf("x0= "); scanf("%lf",&x0); printf("x1= "); scanf("%lf",&x1); printf("escribe el error sugerido \n "); printf("Es= "); scanf("%lf",&Es); printf("escribe cuantas interacciones\n "); printf("ni= "); scanf("%d",&ni); i=0; do { x2= x0-f(x0)*(x0-x1)/(f(x0)-f(x1)); Ea=fabs((x1-x0)/x1)*100; x0=x1; x1=x2; i++; } while(Ea>Es && i<=ni); if (Ea<=Es) { printf("la raiz aproxiada es %0.8lf \n ",x1); } else { printf("no hay convergencia despues de %d interacciones \n ",ni); } printf("cualquier tecla para terminar "); getch(); } double f(double x) {

// aqui se escribe la funcion f(x) return (4+x )/ ( pow(42-2*x,2)*(28-x))-0.016 ; } // aqui e escribe la derivada // double df(double x) //{ // return 2/(x*log(10))+1/(2*pow(x,3.0/2.0)) ; // }//

False position: #include<conio.h> #include<stdio.h> #include<math.h> double f(double); main() { double xi=0,xf=0,Dx=0,y=0;

printf("programa que tabula una funcion \n "); printf("en el intervalo( xi,xf) con incrementos DX \n "); printf("escribe los datos solicitados : \n "); printf("xi= "); scanf("%lf",&xi);

printf("xf= "); scanf("%lf",&xf); printf("Dx= "); scanf("%lf",&Dx); printf("\tx\t|\ty\n"); printf("\t---------------------------------------\n"); do { y=f(xi); printf("\t%lf\t|\t%lf\n",xi,y); xi+=Dx;

} while(xi<=xf); printf("cualquier tecla para fin \n"); getch(); } double f(double x) { return ( ( pow(x,2)* M_PI )*( ((3*3)-x )/ 3 ) ) -30 ; }