中北大学理学院。课。程。
设。计。
题目:定积分的计算。
课程:数值计算课程设计。
成员:1207014101 高启蒙。
1207014111 彭皓月。
一、问题分析。
此问题是一个在给定精度的条件下,用数值计算方法求解定积分的问题。从问题要求可知,应使用复合梯形法和复合辛普生法来对此定积分进行求解,并且在使用复合梯形法求解时,应按照三种以上分法来对问题进行求解,最后,对运行程序得出的结果进行比较分析。
二、数值方法原理及matlab程序。
2.1 复合梯形法原理介绍及matlab程序。
2.1.1 复合梯形法原理。
为了求解定积分,把积分区间分成若干小区间,在每个小区间上以梯形面积近似曲边梯形面积,即用梯形公式求小区间上积分的近似值。定积分存在定理表明,只要被积函数连续,当小区间长度趋于零时,小区间面积之和趋于曲边梯形面积的准确值,及定积分的准确值。
将积分区间[a,b]n等分,记为,。在每个小区间上用梯形公式求和,得。
整理得。上式为复合梯形公式。
当n=1时,得到梯形公式:。
2.1.2 matlab程序(完**:高启蒙)
根据复合梯形法的原理,应用matlab写出了基于复合梯形法的程序,如下:
function q=combinetraprl(f,a,b,eps)
f是被积函数。
a,b分别为积分的上下限。
eps为积分精度。
q为梯形总面积。
if(nargin==3)
eps=1.0e-5;
endn=1;
h=b-a;
q1=0;q2=h*(feval('f',a)+feval('f',b))/2;
while abs(q2-q1)>eps
n=n+1;
h=(b-a)/n;
q1=q2;
q2=0;for k=1:(n-1)
format long
x=a+h*k;
q2=q2+feval('f',x);
endq2=h*(feval('f',a)+feval('f',b))/2+h*q2;
endq=q2
根据题目要求,给出积分区间的4种不同分法,如下:
分法1:n=n+1
分法2:n=2*n
分法3:n=4*n
分法4:n=3*n
调用上述程序求定积分时,需要先建立一个被积函数的m文件:
function y=f(x);
y=exp(x)*sin(x);
2.2 复合辛普生法原理介绍及matlab程序。
2.2.1 复合辛普生法原理。
如果用分段二次插值函数近似被积函数,即在小区间上用辛普生公式计算积分近似值,就可导出复合辛普生公式。辛普生公式:
因为辛普生公式用到了区间的中点,所以在构造复合辛普生公式时,应把积分区间等分为偶数份。故将积分区间[a,b]分成n=2m等分,分点位为。
在每个小区间上,用辛普生公式求积分,则有。
求和得。整理后得到。
上式称为复合辛普生公式。则以上为复合辛普生法的原理。
2.2.2 复合辛普生法的matlab程序(完**:彭皓月)
function s=simprl(f,a,b,eps)
f是被积函数。
a,b分别为积分的上下限。
eps为积分精度。
s为梯形总面积。
if(nargin==3)
eps=1.0e-5;
endn=1;
h=(b-a)/2;
s1=0;s2=h*(feval('f',a)+4*feval('f',(a+b)/2)+feval('f',b))/3;
while abs(s2-s1)>eps
n=2*n;
h=(b-a)/(2*n);
s1=s2;
s2=0;s21=0;s22=0;
for k=1:n
format long
x=a+h*(2*k-1);
s21=s21+feval('f',x);
endfor k=1:(n-1)
format long
x=a+h*2*k;
s22=s22+feval('f',x);
ends2=h*(feval('f',a)+feval('f',b)+4*s21+2*s22)/3;
ends=s2
调用上述程序求定积分时,需要先建立一个被积函数的m文件:
function y=f(x);
y=exp(x)*sin(x);
三、计算结果及结果分析说明。
3.1 调用复合梯形法的运行结果。
分法1:n=n+1 运行结果如下:
> combinetraprl('f',0,3)q =
ans =
分法2:n=3*n 运行结果如下:
> combinetraprl3('f',0,3)q =
ans =
分法3:n=2*n 运行结果如下:
> combinetraprl0('f',0,3)q =
ans =
分法4:n=4*n 运行结果如下:
> combinetraprl2('f',0,3)q =
ans =
3.2 调用复合辛普生法的运行结果:
分法1:n=2*n 运行结果如下:
> simprl('f',0,3)s =
ans =
分法2:n=4*n 运行结果如下:
> simprl('f',0,3)s =
ans =
3.3 比较上述两种方法得出的结果。
为了比较二者计算结果的精确程度,将精度较高的龙贝格方法求得的积分值作为标准,来判断前两种方法的计算结果。下面是调用龙贝格函数来求解的过程及结果:
> romberg('f',0,3,6,1.0e-5)
因此,采用龙贝格方法得出的积分值为11.85950098809216。
当采用分法n=2*n时,用复合梯形法及复合辛普生法计算得到的结果及其与龙贝格方法计算结果的关系见下表:
表1当采用分法n=4*n时,用复合梯形法及复合辛普生法计算得到的结果及其与龙贝格方法计算结果的关系见下表:
表2由表得:
0.00000322737706>0.00000007930723,0.
00000005020639>0.0000000000858,故由复合辛普生法求得的结果更接近龙贝格方法求得的结果,则在分别采用分法n=2*n和n=4*n时,复合辛普生法的计算结果精度更高。
又由于复合梯形法的收敛速度是,而复合辛普生法的收敛速度是,易知后者的收敛速度比前者的大,则上面的结果并非偶然。故综上所述,复合辛普生法的精度比复合梯形法的高,复合辛普生法的计算结果更逼近真实值。
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...