梯形公式以及辛普森公式
实 验 报 告
课程名称 计算方法 实验名称 数 值 积 分
姓 名 秦 哲 学 号 200607010123 专业班级 计0601
实验日期 2009-10-29 成 绩 指导教师 爨莹 (? 实验目的 ?实验原理 ?主要仪器设备 ?实验内容与步骤 ?实验数据记录与处理 ?实验结果分
析 ? 问题与建议)
1、实验目的
1)观察复化梯形公式和复化辛普森公式随区间数n增加各自误差的减少规律;研究广义积分的数值计算如何将其转化为普通积分,再由已有数值积分方法进行计算;
2)利用复化梯形公式和复化辛普森公式计算定积分,编程实现。
2、实验要求
1) 认真
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
题目的条件和要求,复习相关的理论知识,选择适当的解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
和算法;
2) 编写上机实验程序,作好上机前的准备工作;
3) 上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果);
4) 分析和解释计算结果;
5) 按照要求书写实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
;
3、实验内容
1) 分别用复化梯形公式和复化辛普森公式计算定积分,研究随着n增加各自误差的减少规律
2x,取n=2,4,8,16,精确值为I=4.006994。 I,1,edx,0
1xsin 2) 用复化辛普森公式计算积分。 I,dx,0x
4、实验题目
题目:数值积分
5、实验原理
原理:将区间[a,b]等分成N个子区间[x(k),x(k+1)](k=0,1,…..,N-1), h=(b-a)/N,在每个子区间[x(k),x(k+1)]上使用体形公式和辛浦生公式,可求得结果。 6、设计思想
2x 1.用上述的的公式来计算,n=2,4,8,16,a=0, b=2,然后再将积分区间[a,b]进行n等I,1,edx,0
分,得到n个小区间[x,x](i=0,1,2,…,n-1),每个小区间的长度为h=(b-a)/n,其中x=a+i*h。按ii+1i
n,1n,1bhhT,f(x)dx,[f(x),f(x)],[f(a),f(b)],hf(x)进行计算。 ,,ii,1i,a22i,0i,0
1xsin2. 用上述的的公式来计算,n=10, 然后再将积分区间[a,b]进行n等分,[x2i,x2i+2]I,dx,0x
(i=0,1,2,…,n-1),每个小区间的长度为h=(b-a)/n,其中x=a+i*h/2。 i
然后再用公式计算积分的值。
7、对应程序
实验一的源程序:
#include
#include
double fun1(double x,double y,int n)
{
int i;
double sum=0,m;
for(i=1;i<=n-1;i++) //求f(x(k))的和
{
m=x+i*y;
sum=sum+sqrt(1+pow(2.718,m));
}
return sum;
}
double get(double x) {
return sqrt(1+pow(2.718,x));
}
double fun2(double x,double y,int n)
{
int i;
double sum1,sum2=0,ff;
sum1=get(x+y/2);
for(i=1;i<=n-1;i++)//求f(x(k))的和
{
sum1+=get(x+i*y+y/2);
sum2+=get(x+i*y);
}
ff=4*sum1+2*sum2;
return ff;
}
void main()
{
double a=0,b=2;//给定的区间
int n;
while(1)
{
cout<<"请输入要等分的子区间个数(n>0):";
cin>>n;
double h;
double I1,f10,f11,f12;
double I2,f20,f21,f22;
h=(b-a)/n;//步长
f10=get(a);
f11=fun1(a,h,n);
f12=get(b);
f20=f10;
f21=fun2(a,h,n);
f22=f12;
I1=h/2*(f10+2*f11+f12);//复化梯形公式
I2=h/6*(f20+f21+f22); //复化辛浦生公式
cout<<"等分成"< #include
double get(double x) {
if(x==0) return 1;
else return sin(x)/x; }
double fun(double x,double y,int n)
{
int i;
double sum1,sum2=0,ff;
sum1=get(x+y/2);
for(i=1;i<=n-1;i++)//求f(x(k))的和
{
sum1+=get(x+i*y+y/2);
sum2+=get(x+i*y);
}
ff=4*sum1+2*sum2;
return ff;
}
void main()
{ double a=0,b=1;//给定的区间
int n;//等分成n个空间
while(true)
{
cout<<"请输入要等分的子区间个数(n>0):";
cin>>n;
if(n==-1)
break;
double h;
double I1,f11,f12,f13;
h=(b-a)/n;//步长
f11=get(a);
f12=fun(a,h,n);
f13=get(b);
I1=h/6*(f11+f12+f13);//复化辛浦生公式
cout<<"等分成"<
本文档为【梯形公式以及辛普森公式】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。