matlab实验报告--定积分的近似计算 -
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学实验报告
实验序号:2 日期:2013 年11 月30日
班级应数二班姓名丁慧娜学号1101114088
实验名称定积分的近似计算
实验所用软件及版本MATLAB R2012b
问题背景描述:
利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只就是一条实验记录曲线,或者就是一组离散的采样值,这时只能应用近似方法去计算相应的定积分.
实验目的:
1、本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛
物线法。
2、加深理解积分运算中分割、近似、求与、取极限的思想方法。
3、学习fulu2sum、m的程序设计方法,尝试用函数sum 改写附录1与
附录3的程序,避免for 循环。
实验原理与数学模型:
1.矩形法
根据定积分的定义,每一个积分与都可以瞧作就是定积分的一个近似值,即
在几何意义上,这就是用一系列小矩形面积近似小曲边梯形的结果,所以把
这个近似计算方法称为矩形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度.
针对不同的取法,计算结果会有不同。
(1)左点法:对等分区间
, 在区间上取左端点,即取。
(2)右点法:同(1)中划分区间,在区间上取右端点,即取。
(3)中点法:同(1)中划分区间,在区间上取中点,即取。
2.梯形法
等分区间
,
相应函数值为().
曲线上相应的点为()
将曲线的每一段弧用过点,的弦(线性函数)来代替,这使得每个上的曲边梯形成为真正的梯形,其面积为
,.
于就是各个小梯形面积之与就就是曲边梯形面积的近似值,
,
即,
称此式为梯形公式。
3.抛物线法
将积分区间作等分,分点依次为
,, 对应函数值为
(),
曲线上相应点为
().
现把区间上的曲线段用通过三点
,,的抛物线
来近似代替,然后求函数从到的定积分:
由于,代入上式整理后得
同样也有
……
将这个积分相加即得原来所要计算的定积分的近似值:
, 即
这就就是抛物线法公式,也称为辛卜生(Simpson)公式.
主要内容(要点):
1. 分别用梯形法与抛物线法,计算,取.并尝试直接使用函数trapz()、quad()进行计算求解,比较结果的差异.
2. 试计算定积分.(注意:可以运用trapz()、quad()或附录程序求解不?为什么?)
3. 学习fulu2sum、m的程序设计方法,尝试用函数sum 改写附录1与附录3的程序,避免for 循环。
实验过程记录(含基本步骤、主要程序清单及异常情况记录等):
1:
○1梯形法
format long
n=120;a=1;b=2;
syms x fx
fx=1/x;
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); %所有右点值
f=(fxi+fxj)/2*(b-a)/n; %梯形面积
inum=sum(f) %加与梯形面积求解
integrate=int(fx,1,2);
integrate=double(integrate)
fprintf('The relative error between inum and real-value is about:%g/n/n',、、、
abs((inum-integrate)/integrate))
【调试结果】
>>TXF
inum =
0、6938
integrate =
0、6935
The relative error between inum and real-value is about:6、26164e-06/n/n>>
○2抛物线法:
实验结果报告及实验总结:
1、结果
○1梯形法
inum =
0、693
integrate =
0、693
The relative error between inum and real-value is about:6、26164e-006/n/n
○2抛物线法:
i num =
0、693
The relative error between inum and real-value is about:1、35886e-011/n/n
○3使用函数trapz()
ans =
0、693
○4使用函数quad()
ans =
0、693
将题中的近似计算结果与Matlab各命令的计算结果相比较,发现运用不同的方法,计算结果会有不同。
因为由梯形法求近似值,当为凹曲线时,它就偏小;当为凸曲线时,它就偏大.误差较大。故由计算结果知,利用抛物线法近似计算定积分,更接近于实际值,精确程度更高.
且发现trapz()的调试结果与梯形法结果相同,故可猜测该Matlab中的数值积分命令函数trapz()采用了梯形法近似计算方法。
2、
○1使用函数trapz()
??? Error using ==> colon
Maximum variable size allowed by the program is exceeded、