计算方法实验六数值积分.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准文案 精彩文档 山西大学计算机与信息技术学院 实验报告 姓 名 学 号 专业班级 课程名称 计算方法 实验日期 成 绩 指导老师 批改日期 实验名称 实验六 数值积分 实验目的: 利用复化梯形公式、复化辛普生公式和龙贝格数值积分公式计算的近似值。 实验方法: 将[a,b]区间n等分,记分点为,并在每个小区间[]上应用梯形公式 在每个小区间[]上,用辛普生公式 式中为[]的中点,即 先用梯形公式计算,然后,将求积区间(a,b)逐次折半的方法,令区间长度 计算,式中。 于是,得到辛普生公式。 柯斯特求积公式。 最后,得龙贝格求积公式。 利用上述各公式计算,直到相邻两次的积分结果之差满足精度要求。 实验内容 利用复化梯形公式、复化辛普生公式和龙贝格数值积分公式计算 的近似值,要求误差为,将计算结果与精确值比较,并对计算结果进行分析(计算量、误差) 实验程序: 复合梯形公式: #include stdio.h #include math.h #define esp 0.5e-7 #define a 1 #define b 2 #define c 0 #define d 1 #define E 2.71828182845904523536 #define f1(x) (x*pow(E,x)) #define f2(x) (4/(1+(x*x))) void fun1() { int i,n,k=0; double h,q,t,g; n=1; h=(double)(b-a)/2; t=h*(f1(a)+f1(b)); do { k++; q=t; g=0; for (i=1;i=n;i++) g+=f1((a+(2*i-1)*h)); t=(q/2)+(h*g); n*=2; h/=2; } while (fabs(t-q)esp); printf(函数1分了%d次:\n,k); printf(积分结果为:); printf(%12.8lf\n,t); } void fun2() { int i,n,k=0; double h,q,t,g; n=1; h=(double)(d-c)/2; t=h*(f2(c)+f2(d)); do { k++; q=t; g=0; for (i=1;i=n;i++) g+=f2((c+(2*i-1)*h)); t=(q/2)+(h*g); n*=2; h/=2; } while (fabs(t-q)esp); printf(函数2分了%d次:\n,k); printf(积分结果为:); printf(%12.8lf\n,t); } int main() { printf(//***********复合梯形公式***********//\n); fun1(); fun2(); return 0; } 复合辛普生公式代码: #include stdio.h #include math.h #define esp 0.5e-7 #define a 1 #define b 2 #define c 0 #define d 1 #define E 2.71828182845904523536 #define f1(x) (x*pow(E,x)) #define f2(x) (4/(1+(x*x))) void fun1() { int i,n,k=0; double f1,f2,f3,h,s0,s; f1=f1(a)+f1(b);

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档