收藏 分销(赏)

实验四-复合辛普森公式.doc

上传人:a199****6536 文档编号:2647477 上传时间:2024-06-03 格式:DOC 页数:4 大小:87.91KB 下载积分:5 金币
下载 相关 举报
实验四-复合辛普森公式.doc_第1页
第1页 / 共4页
实验四-复合辛普森公式.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
实验四 复合辛普森公式 一、实验目的 1、理解复合辛普森公式的方法原理; 2、利用复合辛普森公式计算积分。 二、实验步骤 1.算法原理 复合辛普森原理: 将区间划分为n等分,在每个子区间上采用辛普森公式,若记则得 记 称为复合辛普森求积公式,其余项为 于是当时,与复合梯形公式相似有 易知误差阶为,收敛性是显然的,实际上,只要则可得到收敛性,即 此外,由于中求积公系数均为正数,故知辛普森公式计算稳定。 2.算法步骤 复合辛普森: 首先将区间划分为n等分,在每个子区间上采用辛普森公式,若记则得 3.程序流程图 开始 输入数据a,b,n , 结束 , 输出 三.程序代码 #include<stdio.h> #include<math.h> #include<conio.h> #define eps 0.000001 //计算精度 float func(double x) //% func-- 求积函数(函数文件) { while(x==0) return 1; double y; y=(sin(x)/x); return(y); } double bsimpson(double a,double b) //% a, b -- 求积区间 { int i,n; double h,p,e,s; double t1,t2,s1,s2,x; n=1; h=b-a; t1=h*(func(a)+func(b))/2.0; s1=t1; /*用t1代替s1*/ e=eps+1.0; while(e>=eps) { s=0.0; for(i=0;i<=n-1;i++) { x=a+(i+0.5)*h; s=s+func(x); } t2=(t1+h*s)/2.0; s2=(4*t2-t1)/3.0; e=fabs(s2-s1); t1=t2; s1=s2; n=n+n; h=h/2.0; } return(s2); } main() { double a,b,s; printf("input a,b="); scanf("%lf,%lf",&a,&b); s=bsimpson(a,b); printf("s=%lf\n",s); getch(); return 0; } 四、心得体会 通过本次试验,我理解复合辛普森公式的方法原理,并且能利用复合辛普森公式计算积分,在数值分析的理论知识上又有了较大的收获,在进行编程的过程中,我已经基本熟练了数值算法的程序过程,能独立的在有限的时间内完成,这对以后的学习会有很大的帮助。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服