青年梦想家 发表于 2015-8-28 16:46

重要的算法C语言实现源代码4

4.龙贝格求积公式,求解定积分

C/C++ code
#include<stdio.h>
#include<math.h>
#define f(x) (sin(x)/x)
#define N 20
#define MAX 20      
#define a 2
#define b 4
#define e 0.00001      
float LBG(float p,float q,int n)
{ int i;
float sum=0,h=(q-p)/n;
for (i=1;i<n;i++)
sum+=f(p+i*h);
sum+=(f(p)+f(q))/2;
return(h*sum);
}
void main()
{ int i;
   int n=N,m=0;
   float T;
   T=LBG(a,b,n);
   n*=2;
   for(m=1;m<MAX;m++)
   { for(i=0;i<m;i++)
      T=T;
     T=LBG(a,b,n);
     n*=2;
     for(i=1;i<=m;i++)
     T=T+(T-T)/(pow(2,2*m)-1);
     if((T<T+e)&&(T>T-e))
     { printf("Answer=%f\n",T); getch();
      return ;
     }
   }
}



关于本帖内容欢迎大家踊跃讨论,与在下交流!

页: [1]
查看完整版本: 重要的算法C语言实现源代码4