定积分的近似计算

定积分的近似计算


2024年1月11日发(作者:)

班级

实验名称

数学与应用数学2班

定积分的近似计算

姓名

杜志佩

学号

1101114074

问题背景描述:

利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只能应用近似方法去计算相应的定积分.

实验目的:

本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线法。对于定积分的近似数值计算,Matlab有专门函数可用。

实验原理与数学模型:

1.矩形法:

根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即

在几何意义上,这是用一系列小矩形面积近似小曲边梯形的结果,所以把这个近似计算方法称为矩形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度.针对不同有不同。

的取法,计算结果会(1) 左点法:对等分区间

在区间上取左端点,即取。

(2)右点法:同(1)中划分区间,在区间上取右端点,即取。

(3)中点法:同(1)中划分区间,在区间上取中点,即取。

2. 梯形法

等分区间

,().

相应函数值为

曲线上相应的点为 ()

将曲线的每一段弧用过点,的弦(线性函数)来代替,这使得每个上的曲边梯形成为真正的梯形,其面积为

,.

于是各个小梯形面积之和就是曲边梯形面积的近似值,

即 ,

称此式为梯形公式。

3. 抛物线法

将积分区间作等分,分点依次为

,,

对应函数值为

(),

曲线上相应点为

().

现把区间上的曲线段用通过三点,,的抛物线

来近似代替,然后求函数从到的定积分:

由于,代入上式整理后得

同样也有

……

将这个积分相加即得原来所要计算的定积分的近似值:

这就是抛物线法公式,也称为辛卜生(Simpson)公式.

实验所用软件及版本:Matlab R2012b

主要内容:

1. 分别用梯形法与抛物线法,计算算求解,比较结果的差异.

,取.并尝试直接使用函数trapz()、quad()进行计2. 试计算定积分.(注意:可以运用trapz()、quad()或附录程序求解吗?为什么?)

3. 学习fulu2sum.m的程序设计方法,尝试用函数 sum 改写附录1和附录3的程序,避免for 循环。

实验过程记录:

1.(1)梯形法:

程序: n=120;

a=1;

b=2;

sum=0;%保证sum开始值为0

syms x fx;

fx=1/x;

for 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); %符号运算,替换

sum=sum+(fxi+fxj)*(b-a)/(2*n);%求矩形面积

end

sum %如果没有这句话就算不出最后的积分

结果:sum =0.6932

(2)抛物线法:

n=120;

a=1;

b=2;

sum=0;

syms x fx;

fx=1/x;

for i=1:n

xx=a+(2*i-2)*(b-a)/(2*n);%第一点的自变量取值后面是除2*n,不是n

yy=a+(2*i-1)*(b-a)/(2*n); %第二点的自变量取值后面是2*i-1

zz=a+(2*i-0)*(b-a)/(2*n); %复制后没改自变量的名字

fxx=subs(fx,‘x’,x0);

fyy=subs(fx,‘x’,x1);

fzz=subs(fx,‘x’,x2);

sum=sum+(fxx+4*fyy+fzz)*(b-a)/(6*n);%求和

end

sum

结果:sum = 0.6931

(3)trapz()法:

程序:x=1:0.001:2;

y=1./x;

trapz(x,y)

结果:

ans =0.6931

(4)quad()法:

程序:quad('1./x',1,2,10e-10) %10e-10为计算精度

结果:ans = 0.6931

2. (1)使用int:

程序:

syms x;

int(sin(x)/x,0,inf) %了解inf表示无穷

结果:ans =pi/2

(2)使用函数trapz():

程序:

x=1:1/120:inf;

y=sin(x)./x;

trapz(x,y)

结果:Maximum variable size allowed by the program is exceeded.

Error in ch8ex31 (line 1)

x=1:1/120:inf;

(3)使用函数quad():

quad('sin(x)./x',0,inf)

结果:ans =NaN

(4)矩形法:

n=inf;

a=0;

b=inf;

syms x fx

fx=sin(x)./x;

i=1:n;

xj=a+(i-1)*(b-a)/n; %左点自变量取值

fxj=subs(fx,'x',xj); %符号运算,替换

f1=fxj*(b-a)/n;

inum1=sum(f1) %计算总面积,即积分

结果:

Maximum variable size allowed by the program is exceeded.

Error in ch8ex31 (line 6)

i=1:n;

故不能用trapz(),quad(),或梯形法,矩形法,抛物线法计算。

3.(1)矩形法:

程序:

n=120;

a=0;

b=1;

syms x fx;

fx=1/(1+x^2);

i=1:n; %避免for循环

xx=a+i*(b-a)/n;

fxx=subs(fx,'x',xx);

f=fxx*(b-a)/n;

sum=sum(f) %一定要写这个命令,求和

结果:sum = 0.7833

(2)抛物线法:

程序:

n=120;

a=0;

b=1;

syms x fx

fx=1/(1+x^2);

i=1:n;

xx=a+(2*i-2)*(b-a)/(2*n);

yy=a+(2*i-1)*(b-a)/(2*n);

zz=a+(2*i-0)*(b-a)/(2*n); %注意变量名应不同

fxx=subs(fx,'x',xx);

fyy=subs(fx,'x',yy); %复制过后改变量名

fzz=subs(fx,'x',zz);

f=(fxx+4*fyy+fzz)*(b-a)/(6*n);

s=sum(f)

结果:s =0.7854

实验结果报告及实验总结:

1. 实验结果报告:

(1)梯形法:结果:sum =0.6932

(2)抛物线法:结果:sum = 0.6931

(3)trapz()法:结果:ans =0.6931

(4)quad()法:结果:ans = 0.6931

实验总结:

将题中的近似计算结果与Matlab各命令的计算结果相比较,发现运用不同的方法,计算结果会有不同。

因为由梯形法求近似值,当为凹曲线时,它就偏小;当为凸曲线时,它就偏大.误差较大。故由计算结果知,利用抛物线法近似计算定积分,更接近于实际值,精确程度更高.

且发现trapz()的调试结果与梯形法结果相同,故可猜测该Matlab中的数值积分命令函数trapz()采用了梯形法近似计算方法。

2. 实验结果报告:

(1)使用int:结果:ans =pi/2

(2)使用函数trapz():

结果:Maximum variable size allowed by the program is exceeded.

Error in ch8ex31 (line 1)

x=1:1/120:inf;

(3)使用函数quad():结果:ans =NaN

(4)矩形法:

结果:Maximum variable size allowed by the program is exceeded.

Error in ch8ex31 (line 6)

i=1:n;

实验总结:

通过实验发现使用函数trapz(),quad()和附录程序求解,均不能调试出或得出正确答案。用matlab命令中的符号求积分int()才得出正确结果。故矩形法、梯形法、抛物线法是主要研究定积分的三种近似计算算法。Matlab的专门函数trapz(),quad()也是用于定积分的近似数值计算。对于不定积分,由于积

分区间无限大,故不能使用该分割方法。

3. 实验结果报告:

(1)矩形法:结果:sum = 0.7833

(2)抛物线法:结果:s =0.7854

实验总结:

实验结果见实验过程中的调试结果。调试顺利。使用sum函数时,s和sum不需要赋初值,应用了积分理论中分割近似求和取极限的思想方法,避免了for循环的冗杂性,简单明了。

思考与深入:

通过本实验加深理解了积分理论中分割、近似、求和、取极限的思想方法。学习并掌握了用matlab求定积分的方法,了解了定积分近似计算的矩形法、梯形法,和抛物线法。并认识到对于不同的题目,采取不同的运算方法,结果会不同,且精确程度也不同。

同时,对于自身,要深刻理解不定积分、定积分概念,熟悉matlab数学软件的求不定积分、定积分的命令,了解简单的编程语句,以更快更准确且熟练地设计出程序。

教师评语:


发布者:admin,转转请注明出处:http://www.yc00.com/news/1704973793a1384972.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信