资源描述:
《《数值计算方法》课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、重庆邮电大学设计成绩:2012级数理大类《数值计算方法》课程设计姓名:张云华刘贞宇班级:学号:设计时间:2013.12.27指导教师:尹龙军12目录一.课程设计目的………………………………………………3二.课程设计题目………………………………………………3三.理论知识和算法……………………………………………3四.VC代码及计算结果截屏…………………………………4五.求解结果的分析和结论……………………………………9六.课程设计的总结与体会………………………………………1012一、课程设计目的1)学会用数值积分避开求f(x)的原函F(x)的繁
2、琐步骤,并可以有效的控制结果。2)在某些求积函数中,用数值积分求解一些原函数F(x)不能用初等函数表示成有限形式。3)熟练掌握用复化梯形法,复化辛甫生法和龙贝格法求解积分。4)编程实现复化梯形法,复化辛甫生以及龙贝格算法对积分的计算。二、课程设计内容(题目)数值积分收敛速度的比较 分别按下述计算方案求积分的近似值,并列表给出对分节点的积分值,从而比较其收敛速度。积分的准确值为: 方案I 复化梯形法 方案II 复化辛甫生法 方案III 龙贝格算法三、问题的分析(含涉及的理论知识、算法等)1)复化梯形公式:把积分区间[a,b]
3、等分为m个小区间,令步长h=,求积节i=0,,1,2…m,等距节点复化梯形公式为先分段,通过避开直接算积分的繁琐步骤,直接计算函数值,再通过复化梯形公式求得积分的近似值,当n达到一定程度时,所得的结果就近似等于积分的值了.计算步骤:算出f(a),f(b)以及f(xk)相应的值,将所有值相加后乘以h/2.即得到积分的值2)复化辛甫生公式:将区间[a,b]分成n等分,每等分称为一个子区间,其长度为h=(b-a)/n,分点为xk=a+kh,k=0,1,2,....即a=x04、2,即xk+1/2=(xk+xk+1)/2=xk+h/2(k=0,1,2,...,n-1)12复化辛甫生公式和复化梯形公式的算法类似,依次算出函数的值,最后得出积分的近似值,当n较大时,结果近似等于积分的值.3)龙贝格算法1.算出f(a)和f(b),根据数值计算方法教材公式5.26计算T1;2.将[a,b]分半,算出f((a+b)/2)后,根据公式5.26计算T2;;3.再将区间分半,算出f(a+(b-a)/4)及f(a+3*(b-a)/4),并根据公式5.26计算T4.4.将区间再次分半,计算T8.5.将区间再次分半,类似上述过程计算T1
5、6.四、计算过程(含涉及编写的程序、运行环境、计算结果截屏等)流程图1复化梯形公式输入a,b,nh=(a-b)/nk=1X=a+khf(x)=exp(x)*cos(x)F(x)=F(x)+f(x)n<=k?k++是否Tn=0.5h(f(a)+f(b)+2F(x))输出Tn12图1:复化梯形公式计算结果1图2:复化梯形公式计算结果212辛甫生公式复化求积:流程图2复化辛普森公式输入a,b,nh=(a-b)/nk=1X=a+khf(x)=exp(x)*cos(x)X1={[a+(k-1)h]+X}/2f(x1)=exp(x1)*cos(x1)F
6、(x)=F(x)+f(x)F1(x)=F1(x)+f(x1)F(x)=F(x)+f(x)F(x)=F(x)+f(x)K<=k?是k++Sn=(h/6)(f(a)+f(b)+2F(x)+4F1(x))输出Sn图3复化辛普森公式计算结果12图4龙贝格算法计算结果五、问题求解结果的分析与结论三种算法对分节点的积分值表12表1三种算法对分节点的积分值表复化梯形公式复化辛甫生公式龙贝格算法n=1-34.-11.-34.n=2-17.-11.-17.n=3-14.-12.n=4-13.-13.图5复化辛普森公式收敛12结果分析:通过计算发现,三种解法中
7、,用复化辛甫生公式计算积分时收敛速度较快,复化梯形公式和龙贝格算法的收敛速度较慢,且后面两者的结果基本一致,但相对来说,龙贝格算法的计算量更少,更加方便.如果用折线图来描述的话,那么辛甫生算法的图像较为平整,变化幅度比较小.六、课程设计的总结与体会(含每位同学承担的主要工作等)1)组员分别承担的任务张云华:写报告,用复化辛甫生公式计算积分的编程,分别用三种算法计算节点的积分值并完成列表.心得与体会:在课程设计的同时不仅巩固了以前所学过的知识,而且可以学到很多在书本上所没有学到过的知识,特别是团队合作能力。通过这次课程设计使我懂得了理论与实际
8、相结合是很重要的,增强了我们处理问题的能力。还有只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正的掌握,从而提高自己的实际动手能力和独立