36基于梯形法和辛普生求定积分文档格式.docx

上传人:b****2 文档编号:5921942 上传时间:2023-05-05 格式:DOCX 页数:12 大小:146.12KB
下载 相关 举报
36基于梯形法和辛普生求定积分文档格式.docx_第1页
第1页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第2页
第2页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第3页
第3页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第4页
第4页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第5页
第5页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第6页
第6页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第7页
第7页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第8页
第8页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第9页
第9页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第10页
第10页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第11页
第11页 / 共12页
36基于梯形法和辛普生求定积分文档格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

36基于梯形法和辛普生求定积分文档格式.docx

《36基于梯形法和辛普生求定积分文档格式.docx》由会员分享,可在线阅读,更多相关《36基于梯形法和辛普生求定积分文档格式.docx(12页珍藏版)》请在冰点文库上搜索。

36基于梯形法和辛普生求定积分文档格式.docx

说明各功能模块的实现方法

1)对源程序的函数源进行声明及宏定义,便于后面的调用。

2)主函数部分:

编写好主函数程序,里面含有函数调用,成为主调函数;

3)梯形法求定积分:

即被调函数部分,利用函数调用及for循环求累加和,计算出此时的函数值并将其反回到主函数中。

4)辛普生法求定积分:

调用函数求函数值,并利用for循环求累加和。

计算出函数的值并返回到主函数中。

3、设计中的主要困难及解决方案

1)困难1:

函数调用比较多,程序冗长,容易出现混乱。

解决方案:

函数的取名要尽量简单,取名之后按顺序排放。

2)困难2:

计算函数时,涉及到多个函数计算以及for循环求累加和。

清晰地定义多个函数,及宏定义,利用函数调用的知识,每计算一步,要用return返到主函数中。

4、你所设计的程序最终完成的功能

1)向程序中输入a,b,n的值后,会分别用梯形法和辛普生法计算出相应的结果。

2)准备的测试数据和运行结果:

 

三、程序清单

#include<

iostream.h>

stdlib.h>

#defineHIGH1(a,b,n)(b-a)/n//宏定义

doubleF1(doublex,doubley,intz);

//函数原型说明

doubleF2(doublex,doubley,intz);

doublef1(doubleu);

doublef2(doublev);

doublesum1(doublec,doubled,inte);

doublesum2(doublep,doubleq,intr);

#defineHIGH2(a,b,n)(b-a)/(2*n)//宏定义

doubleF3(doublex,doubley,intz);

//函数说明

doubleF4(doublex,doubley,intz);

doublef3(doubleu);

doublef4(doublev);

doublesum5(doublep,doubleq,intr);

doublesum6(doublep,doubleq,intr);

doublesum3(doublec,doubled,inte);

doublesum4(doublec,doubled,inte);

voidintegralts(doublex,doubley,intz,double(*f)(double,double,int));

voidintegralt(doublex,doubley,intz,double(*f)(double,double,int));

voidmain()//主函数

{

intn;

doublea,b;

cout<

<

"

pleaseinputa,b,n=\n"

;

//输出提示

cin>

>

a>

b>

n;

a="

a<

\nb="

b<

\nn="

n<

endl;

梯形法:

intesum1="

integralt(a,b,n,F1);

//应用函数指针调用函数

intesum2="

integralt(a,b,n,F2);

辛普生法:

integralts(a,b,n,F3);

integralts(a,b,n,F4);

}

voidintegralt(doublex,doubley,intz,double(*f)(double,double,int))//利用梯形法球定积分

{

doubleff;

ff=(*f)(x,y,z);

//用函数指针调用F1函数

ff<

}

doubleF1(doublex,doubley,intz)

doubleh,Y1;

//定义局部变量

h=HIGH1(x,y,z);

//调用宏定义

Y1=h/2*(f1(x)+f1(y)+2*sum1(x,y,z));

//梯形法公式

returnY1;

//返回梯形法得到的1+x*x的定积分的值

doubleF2(doublex,doubley,intz)

doubleh,Y2;

Y2=h/2*(f2(x)+f2(y)+2*sum2(x,y,z));

//梯形法公式,调用f2,sum2函数

returnY2;

//返回梯形法得到的1+x+x*x+x*x*x的定积分的值

doublef1(doubleu)

doubley1;

//定义变量

y1=u*u+1;

returny1;

//返回值

doublef2(doublev)

doubley2;

//定义变量

y2=1+v+v*v+v*v*v;

returny2;

//返回值

doublesum1(doublec,doubled,inte)

doubleh=HIGH1(c,d,e);

doubles1=0;

for(inti=1;

i<

=e-1;

i++)//for循环

{

doubleg=c+i*h;

s1+=f1(g);

}

returns1;

doublesum2(doublep,doubleq,intr)

doubleh=HIGH1(p,q,r);

//引用宏定义

doubles2=0;

=r-1;

doubleg=p+i*h;

s2+=f2(g);

returns2;

voidintegralts(doublex,doubley,intz,double(*f)(double,double,int))//辛普生法

//函数指针

doubleF3(doublex,doubley,intz)

h=HIGH2(x,y,z);

Y1=h/3*(f3(x)+f3(y)+4*sum5(x,y,z)+2*sum6(x,y,z));

//调用f3,sum5,sum6函数

doubleF4(doublex,doubley,intz)

Y2=h/3*(f4(x)+f4(y)+4*sum3(x,y,z)+2*sum4(x,y,z));

doublef3(doubleu)

doubley1=1+u*u;

doublef4(doublev)

doubley2=1+v+v*v+v*v*v;

doublesum5(doublep,doubleq,intr)

doubleh=HIGH2(p,q,r);

doubles=0;

=2*r-1;

i+=2)//for循环

s+=f3(g);

returns;

doublesum6(doublep,doubleq,intr)

for(inti=2;

=2*r-2;

doublesum3(doublec,doubled,inte)

doubleh=HIGH2(c,d,e);

=2*e-1;

i+=2)

s+=f4(g);

doublesum4(doublec,doubled,inte)

=2*e-2;

四、对该设计题目有何更完善的方案

1、对自己完成程序进行自我评价。

复习了函数和函数指针部分的内容,通过运用函数调用,for循环以及累加和运算,经过反复调试,将近一周的时间,终于完成了课程设计,感觉很充实,进一步熟悉了函数的运用,进步很大,同时课设过程中也是遇到很多困难,通过和同学的讨论和向老师的请教,终于完成了课程设计。

2、对课题提出更完善的方案

改程序,使一次运行中,可以输入多组数据,并进行计算,在输出结果中可以直观的比较出梯形法与辛普生法求定积分的精度问题。

五、收获及心得体会

1、通过本次课程设计,自己在哪些方面的能力有所提高。

熟悉了函数和函数指针的知识,以及for循环和函数累加和的应用。

提高了自学能力,通过不断地调试程序,不断的改进,在此过程中,,磨砺了自己的毅力,最终程序成功运行,更增强了今后在学习中的自信。

2、收获和心得体会。

1)首先要有耐心;

2)增强自学能力,不会就问,或查资料;

3)锻炼自己的意志,要能坚持,不放弃,要自信。

日期:

2012年06月28日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2