1.复化梯形公式1.1代码:
#include
#include
#include
using namespace std;
double f(double x){
return sqrt(1-x*x);}//定义和修改函数f(x)
double q(double a,double b,int n)//复化梯形公式
{double h,x[n-2];
double w=0;
h=(b-a)/n*1.0;
for(int i=0;i<=n-2;i++)
{x[i]=a+(i+1)*h;
w+=f(x[i]);
}return h*(f(a)+2*w+f(b))/2;
}
int main()//主函数
{while(1)
{double a,b;
int n;
cout<
cin>>a>>b>>n;
cout<
cout<
}}
1.2运行效果:
2.复化辛普森公式积分2.2代码:
#include
#include
#include
using namespace std;
double f(double x){
return sqrt(1-x*x);}//自定义积分函数
double s(double a,double b,int n)//复化辛普森公式
{ double h,x[n];
double w=0,v=0;
h=(b-a)/n*1.0;
for(int i=1;i<=n/2;i++)
{x[2*i-1]=a+(2*i-1)*h;
w+=f(x[2*i-1]);}
for(int i=1;i<=n/2-1;i++)
{x[2*i]=a+2*i*h;
v+=f(x[2*i]);}
return h*(f(a)+4*w+2*v+f(b))/3.0;
}
int main()
{while(1)
{double a,b;
int n;
cout<
cin>>a>>b>>n;
cout<
cout<
}}
2.2运行效果: