数学建模社区-数学中国

标题: 重要的算法C语言实现源代码4 [打印本页]

作者: 青年梦想家    时间: 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[MAX+1][2];
   T[0][1]=LBG(a,b,n);
   n*=2;
   for(m=1;m<MAX;m++)
   { for(i=0;i<m;i++)
      T[0]=T[1];
     T[0][1]=LBG(a,b,n);
     n*=2;
     for(i=1;i<=m;i++)
     T[1]=T[i-1][1]+(T[i-1][1]-T[i-1][0])/(pow(2,2*m)-1);
     if((T[m-1][1]<T[m][1]+e)&&(T[m-1][1]>T[m][1]-e))
     { printf("Answer=%f\n",T[m][1]); getch();
      return ;
     }
   }
}



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






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5