论坛首页· 友情链接申请·申请版主· 广告投放· 道具中心· 设为首页· 收藏本站
发新话题
打印

常用数值算法--复化辛卜生公式.cpp

本主题由 Webmaster 于 2008-8-30 00:51 移动

常用数值算法--复化辛卜生公式.cpp

复制内容到剪贴板
代码:

#include<iostream.h>
#include<math.h>
void main()
{
int i,n=2;
float s;
float f(float);
float Simpson(float (*)(float),float,float,int );
for( i=0;i<=2;i++ )
{
  s=Simpson(f,0,1,n);
  cout<<"s("<<n<<")="<<s<<endl;
  n*=2;
}
}
float Simpson(float (*f)(float),float a,float b,int n)
{
int k;
float s,s1,s2=0.0;
float h=(b-a)/n;
s1=f(a+h/2);
for(k=1;k<=n-1;k++)
{
  s1+=f(a+k*h+h/2);
  s2+=f(a+k*h);
}
s=h/6*(f(a)+4*s1+2*s2+f(b));
return s;
}
float f(float x)
{
return 1/(1+x*x);
/* if(x==0)
  return 1;
else
  return sin(x)/x;*/
}

TOP

发新话题