




免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB数学实验报告 实验日期:2015年11月20日 实验名称 定积分的近似计算姓名:学号:班级:问题背景描述:利用牛顿莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只能应用近似方法去计算相应的定积分实验目的:本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线法。对于定积分的近似数值计算,Matlab有专门函数可用。实验原理与数学模型:1 矩形法根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即在几何意义上,这是用一系列小矩形面积近似小曲边梯形的结果,所以把这个近似计算方法称为矩形法不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度针对不同的取法,计算结果会有不同。(1) 左点法:对等分区间,在区间上取左端点,即取。(2)右点法:同(1)中划分区间,在区间上取右端点,即取。(3)中点法:同(1)中划分区间,在区间上取中点,即取。2 梯形法等分区间,相应函数值为 ()曲线上相应的点为 ()将曲线的每一段弧用过点,的弦(线性函数)来代替,这使得每个上的曲边梯形成为真正的梯形,其面积为,于是各个小梯形面积之和就是曲边梯形面积的近似值,即 ,称此式为梯形公式。3 抛物线法将积分区间作等分,分点依次为,对应函数值为(),曲线上相应点为()现把区间上的曲线段用通过三点,的抛物线来近似代替,然后求函数从到的定积分:由于,代入上式整理后得同样也有将这个积分相加即得原来所要计算的定积分的近似值:,即这就是抛物线法公式,也称为辛卜生(Simpson)公式实验所用软件及版本: Matlab 7.0主要内容(要点):1 分别用梯形法与抛物线法,计算,取并尝试直接使用函数trapz()、quad()进行计算求解,比较结果的差异2 试计算定积分(注意:可以运用trapz()、quad()或附录程序求解吗?为什么?)3 学习fulu2sum.m的程序设计方法,尝试用函数 sum 改写附录1和附录3的程序,避免for 循环。实验过程记录(含基本步骤、主要程序清单及异常情况记录等):第2题梯形法format longa=1;b=2;n=120;s=0;syms x yy=1/x;for i=a:1/n:b xj=a+(i-1).*(b-a)./n; %左点 xi=a+i.*(b-a)./n; %右点 yj=subs(y,x,xj); %左点值 yi=subs(y,x,xi); %右点值 s=s+(yi+yj).*(b-a)./(2.*n);endsintegrate=int(y,1,2) %integrate为matlab中自带的积分函数integrate=double(integrate)abs(s-integrate)./integrate) %相对误差【调试结果】s =(121*y)/120 integrate = log(2) integrate = 0.693147180559945ans = abs(136233888727957504*y)/93649721522480385 - 1)抛物线法:format longa=1;b=2;s=0;n=120;% 抛物线条数120 小区间个数2*n syms x yy=1/x;for i=a:1/n:b x0=a+(2.*i).*(b-a)./(2*n); %第一点 x1=a+(2.*i-1).*(b-a)./(2*n); %第二点 x2=a+(2.*i-0).*(b-a)./(2*n); %第san点 y0=subs(y,x,x0); %第一点值 y1=subs(y,x,x1); %第二点值 y2=subs(y,x,x2); %第三点值 s=s+(y0+4.*y1+y2).*(b-a)./(6.*n); endsintegrate=int(y,1,2) %integrate为matlab中自带的积分函数integrate=double(integrate)abs(s-integrate)./integrate) %相对误差【调试结果】s = (121*y)/120 integrate = log(2) integrate = 0.693147180559945ans = abs(136233888727957504*y)/93649721522480385 - 1)使用函数trapz()x=1:1/120:2;y=1./x;trapz(x,y) 【调试结果】ans = 0.693151520800048使用函数quad()quad(1./x,1,2,1/120)【调试结果】ans = 0.693147292908988第3题使用函数trapz()x=1:1/120:inf;y=sin(x)./x;trapz(x,y)【调试结果】? Error using = colonMaximum variable size allowed by the program is exceeded.使用函数quad()quad(sin(x)./x,0,inf)【调试结果】ans = NaN %NaN不定值第6题矩形法:利用求和函数%利用sum函数改写矩形法format longn=100;a=0;b=1;syms x fxfx=1/(1+x2);i=1:n;xj=a+(i-1)*(b-a)/n; xi=a+i*(b-a)/n; fxj=subs(fx,x,xj); fxi=subs(fx,x,xi); fxij=(fxi+fxj)/2; m=fxj*(b-a)/n; p=fxi*(b-a)/n; k=fxij*(b-a)/n; inum1=sum(m) inum2=sum(p) inum3=sum(k)【调试结果】inum1 = 0.787893996730782inum2 = 0.782893996730782inum3 = 0.785393996730783 抛物线法:使用求和函数%利用sum函数改写抛物线法format longn=100;a=0;b=1;syms x fxfx=1/(1+x2);i=0:(n-1);xj=a+(2*i)*(b-a)/(2*n); xi=a+(2*i+1)*(b-a)/(2*n); xk=a+(2*i+2)*(b-a)/(2*n); fxj=subs(fx,x,xj); fxi=subs(fx,x,xi); fxk=subs(fx,x,xk); m=(fxj+4*fxi+fxk)*(b-a)/(6*n); inum=sum(m)【调试结果】 inum = 0.785398163397448【情况记录】1、梯形法和抛物线法程序设计较为顺利。但要注意使用for循环函数和求和函数时的不同matlab命令,避免混淆出错。使用函数trapz(),quad()时要注意被积函数是数值形式,应使用数组计算,应用点除即 ./ ,否则将出错,不能调试出结果。2、使用函数trapz(),quad()和附录程序求解,均不能调试出获得出正确答案。最后尝试用matlab命令中的符号求积分才得出正确结果。3、参照附录B中的求和函数程序设计顺利改变了附录A和C。发现使用求和函数时,inum不需要赋初值,应用了积分理论中分割、近似、求和、取极限的思想方法,避免了for循环的冗杂性,较容易理解。实验结果报告及实验总结:结果第2题梯形法s =(121*y)/120 integrate = log(2) integrate = 0.693147180559945ans = abs(136233888727957504*y)/93649721522480385 - 1)抛物线法: s = (121*y)/120 integrate = log(2) integrate = 0.693147180559945ans = abs(136233888727957504*y)/93649721522480385 - 1)使用函数trapz()ans = 0.693151520800048使用函数quad()ans = 0.693147292908988将题中的近似计算结果与Matlab各命令的计算结果相比较,发现运用不同的方法,计算结果会有不同。因为由梯形法求近似值,当为凹曲线时,它就偏小;当为凸曲线时,它就偏大误差较大。故由计算结果知,利用抛物线法近似计算定积分,更接近于实际值,精确程度更高且发现trapz()的调试结果与梯形法结果相同,故可猜测该Matlab中的数值积分命令函数trapz()采用了梯形法近似计算方法。第3题使用函数trapz()? Error using = colonMaximum variable size allowed by the program is exceeded.使用函数quad()ans = NaN %NaN不定值通过实验发现使用函数trapz(),quad()和附录程序求解,均不能调试出或得出正确答案。用matlab命令中的符号求积分int()才得出正确结果。故矩形法、梯形法、抛物线法是主要研究定积分的三种近似计算算法。Matlab的专门函数trapz(),quad()也是用于定积分的近似数值计算。对于不定积分,由于积分区间无限大,故不能使用该分割方法。第6题矩形法:利用求和函数inum1 = 0.787893996730782inum2 = 0.782893996730782inum3 = 0.785393996730783 抛物线法:使用求和函数inum = 0.785398163397448在实验中要注意使用for循环函数和求和函数时的不同matlab命令,避免混淆出错。使用函数trapz(),quad()时要注意被积函数是数值形式,应使用数组计算,应用点除即 ./ ,否则将出错,不能调试出结果。参照附录B中的求和函数程序设计顺利改变了附录A和C。思考与深
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学科学实践:自制净水装置在校园水资源保护中的应用与推广论文
- 高中校园垃圾分类智能化管理策略与实施路径探索论文
- 校园花卉观赏价值与城市绿地生态功能研究论文
- 艺考生口腔管理制度
- 苏泊尔专利管理制度
- 触电事故专项应急预案总结
- 财务管理模拟习题(附参考答案)
- 江南布衣女装服饰品牌策划方案
- 自动控制原理教学大纲 (自动化专业、电气工程及其自动化专业)
- 2025年android通知!2024中级Android开发面试解答最强技术实现
- 食堂菜品加工规范
- 孩子入学居间协议书模板
- 年度吊装合同协议
- 2025年CSCO胰腺癌诊疗指南解读
- 创业税收政策培训
- 高中主题班会 我命由我不由天课件-2025年高三百日励志班会课
- 2025高中学业水平考试生物重点知识点归纳总结(复习必背)
- 支气管镜操作流程
- 《战略资源稀土》课件
- 《基础护理学》第七版考试题库大全-上部分(600题)
- 科技在宠物健康监测中的应用
评论
0/150
提交评论