复化辛卜生公式.cpp
来自「包含二分法、复化辛卜生公式、改进欧拉法、拉格朗日插值多项式、龙贝格算法、牛顿迭代」· C++ 代码 · 共 39 行
CPP
39 行
#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;*/
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?