c++采用辛普生法_c++实现 复化梯形公式和复化辛普森公式积分运算

本文介绍了如何使用C++编程实现复化梯形公式和复化辛普森公式进行数值积分。通过示例代码详细展示了如何定义函数,以及如何在主函数中输入参数并调用这两个积分运算公式。最后给出了代码运行的效果截图。
摘要由CSDN通过智能技术生成

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运行效果:​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值