jueves, 18 de marzo de 2010

Aproximación de una función por el método de Newton-Raphson

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

//Aproxime la funcion    e^-x     -x
//Utilizando cualquier metodo de aproximacion,
//ingresando desde teclado el numero de cifras
//significativas.

//METODO DE Newton-Raphson
main()
{
int i;
float Rr=0.56714329,xi,xr,Et,Ea,Es,fxi,fpxi,n;
 system("color 04");
 printf("\n\nIngrese el numero de cifras significativas: ");
  scanf("%f",&n);
Es=(0.5)*(pow(10,2-n));
 printf("\nRaiz real=%f\tEs=%f %c\n\ni\tXr\tEt\t\tEa\n",Rr,Es,37);
 printf("0\t0\t100 %c\t\t-----\n",37);
  
  for(i=1;i<=10;i++)
     {
      xr=xi-((exp(-xi)-xi)/(-exp(-xi)-1));
      Et=((Rr-xr)/Rr)*100;
      Ea=((xr-xi)/xr)*100;
      printf("%d\t%.4f\t%f %c\t%f %c\n",i,xr,Et,37,Ea,37);
      xi=xr;
      if(Ea<Es)
      break;
      else
      continue;
     }
 getch();
}

Compilado con Open Watcom C - C++ 1.8 :]

Comentarios