Advertisement
luizaspan

Método de Newton-Raphson (c/ do while e derivada numérica)

Sep 4th, 2015
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.64 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define eps 1e-6
  5. #define x0 0
  6. #define dx 1e-5
  7.  
  8. double f(double x)
  9. {
  10.     return (exp(-x)-x);
  11. }
  12.  
  13. double df(double x)
  14. {
  15.     return ((f(x+dx)-f(x))/dx); // não preciso saber da função
  16. }
  17.  
  18. int main(void)
  19. {  
  20.     double x=x0,delta,y;
  21.     int i,k=0;
  22.  
  23.     // for (i=0;i<n;i++) // for (i=0;i<n && f(x)!=0;i++)
  24.     // {
  25.     //  x=x-f(x)/df(x);
  26.     //  printf("f(%.15e)=%e \n",x,f(x));
  27.     //  k++;
  28.  
  29.     //  if (f(x)==0)
  30.     //      break;
  31.     // }
  32.  
  33.     do
  34.     {
  35.         y=x;
  36.         x=x-f(x)/df(x);
  37.         k++;
  38.         delta=(x-y);
  39.         printf("f(%.15e)=%e \n",x,f(x));
  40.     } while (delta>eps);
  41.  
  42.     printf("Número de iterações: %d \n",k);
  43.  
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement