Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.70 KB | None | 0 0
  1. #include "f.h"
  2.  
  3. double intsimp_f(double (*f)(double x), double a, double b, int n)
  4.     {
  5.     double sum = 0;
  6.     double m, k;
  7.     double h = (b-a)/(n);
  8.     double cur = f(a);
  9.     double old = cur;
  10.     int i = 0;
  11.  
  12.     for(i = 1; i <= n; i++)
  13.         {
  14.         old = cur;
  15.         cur = f(a + i*h);
  16.  
  17.         m = (cur - old)/h;
  18.         k = (old*(a + i*h) - cur*(a + (i-1)*h))/h;
  19.  
  20.         sum += 2*m*fabs(a + i*h)*sqrt(fabs(a + i*h))/3;
  21.         sum += 2*k*sqrt(fabs(a + i*h))*(a + i*h)/fabs(a + i*h);
  22.         sum -= 2*m*fabs(a + (i-1)*h)*sqrt(fabs(a + (i-1)*h))/3;
  23.         sum -= 2*k*sqrt(fabs(a + (i-1)*h))*(a + (i-1)*h)/fabs(a + (i-1)*h);
  24.         }
  25.     return sum;
  26.     }
  27.  
  28. static int cnt = 0;
  29.  
  30. double f(double x)
  31.     {
  32.     cnt++;
  33.     return x;
  34.     }
  35.  
  36. int get_cnt(void)
  37.     {
  38.     return cnt;
  39.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement