第七讲-定积分的近似计算_第1页
第七讲-定积分的近似计算_第2页
第七讲-定积分的近似计算_第3页
第七讲-定积分的近似计算_第4页
第七讲-定积分的近似计算_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七讲-定积分的近似计算第一页,共三十九页,编辑于2023年,星期四

问题背景和实验目的定积分的近似计算

定积分计算的基本公式是牛顿-莱布尼兹公式。但当被积函数的原函数不知道时,如何计算?这时就需要利用近似计算。特别是在许多实际应用中,被积函数甚至没有解析表达式,而是一条实验记录曲线,或一组离散的采样值,此时只能用近似方法计算定积分。本实验主要研究定积分的三种近似计算算法:矩形法、梯形法和抛物线法。同时介绍Matlab计算定积分的相关函数。第二页,共三十九页,编辑于2023年,星期四

矩形法梯形法抛物线法

数值积分的常见算法主要内容

Matlab求积分函数数值积分函数:trapz、quad、dblquad、triplequad符号积分函数:int第三页,共三十九页,编辑于2023年,星期四

矩形法

定积分的定义:定积分的近似计算第四页,共三十九页,编辑于2023年,星期四矩形法d

充分小

定积分的近似:

通常我们取左点法右点法中点法

点可以任意选取,常见的取法有:

左端点,右端点和中点。第五页,共三十九页,编辑于2023年,星期四步长节点

右点法:

中点法:

左点法:左点法、右点法和中点法第六页,共三十九页,编辑于2023年,星期四解:矩形法举例==>h=1/100=0.01,xi=i*h,a=0,b=1,n=100例:用不同的矩形法计算下面的定积分(取n=100),

并比较这三种方法的相对误差。

左点法:

右点法:

中点法:(i=0,1,2,...,100)第七页,共三十九页,编辑于2023年,星期四

理论值:左点法相对误差:误差分析矩形法举例右点法相对误差:中点法相对误差:不同的方法有不同的计算精度有没有更好的近似计算定积分的方法

?第八页,共三十九页,编辑于2023年,星期四定积分几何意义第九页,共三十九页,编辑于2023年,星期四

曲边小梯形的面积可以由直边小梯形的面积来近似整个曲边梯形的面积:梯形法第十页,共三十九页,编辑于2023年,星期四

如果我们n

等分区间[a,b],即令:则==>梯形公式梯形法梯形公式与中点公式有什么区别

?第十一页,共三十九页,编辑于2023年,星期四解:==>例:用梯形法计算下面定积分(取n=100),

并计算相对误差梯形法举例a=0,b=1,n=100,f(x)=1/(1+x2)==>h=1/100=0.01,xi=i*h,yi=f(xi)

相对误差:第十二页,共三十九页,编辑于2023年,星期四

2n

等分区间[a,b],得该直线用抛物线代替,计算精度是否会更好?

计算每个节点上的函数值:抛物线法

在区间[x0,x2]上,用过以下三点的抛物线来近似原函数f(x)。第十三页,共三十九页,编辑于2023年,星期四

设过以上三点的抛物线方程为:则在区间[x0,x2]上,有y=

x2+x

+

=p1(x)

抛物线法第十四页,共三十九页,编辑于2023年,星期四

同理可得:

相加即得:抛物线法第十五页,共三十九页,编辑于2023年,星期四

整理后可得:或辛普森(Simpson)公式抛物线法公式抛物线法第十六页,共三十九页,编辑于2023年,星期四==>例:用抛物线法计算下面定积分(取n=100),

并计算相对误差解:a=0,b=1,n=100,yi

=f(xi)=1/(1+xi2)

相对误差:抛物线法第十七页,共三十九页,编辑于2023年,星期四

矩形法梯形法抛物线法

数值积分的常见算法Matlab函数

Matlab求积分函数数值积分函数:trapz、quad、dblquad符号积分函数:int第十八页,共三十九页,编辑于2023年,星期四

矩形法总结

Matlab数值积分函数:trapz、quad、dblquad

梯形法

抛物线法第十九页,共三十九页,编辑于2023年,星期四梯形法:trapztrapz(x,y)

x

为分割点(节点)组成的向量,

y为被积函数在节点上的函数值组成的向量。

Matlab近似计算定积分的相关函数Matlab计算定积分函数介绍第二十页,共三十九页,编辑于2023年,星期四前面的做法例:用梯形法计算下面定积分(取n=100)解:a=0,b=1,n=100,yi

=f(xi)=1/(1+xi2)>>

x=0:1/100:1;>>

y=1./(1+x.^2);>>

trapz(x,y)trapz函数trapz(x,1./(1+x.^2))trapz举例第二十一页,共三十九页,编辑于2023年,星期四quad(f,a,b,tol)f=f(x)为被积函数,[a,b]为积分区间,tol

为计算精度将自变量看成是向量抛物线法:quad不用自己分割积分区间可以指定计算精度,若不指定,缺省精度是10-6精度越高,函数运行的时间越长此处的函数

f是数值形式,应该使用数组运算,即

点运算:.*,./,.\,.^

注:抛物线法第二十二页,共三十九页,编辑于2023年,星期四解:>>

quad('1./(1+x.^2)',0,1)>>

quad('1./(1+x.^2)',0,1,10e-10)函数表达式一定要用单引号括起来!涉及的运算一定要用数组运算!例:用quad

计算定积分:quad举例第二十三页,共三十九页,编辑于2023年,星期四抛物线法计算二重积分:dblquaddblquad(f,a,b,c,d,tol)

tol

为计算精度,若不指定,则缺省精度为10-6

f可以是:

字符串;inline

定义的内联函数;函数句柄

[a,b]

是第一积分变量的积分区间,

[c,d]

是第二积分变量

的积分区间dblquad第二十四页,共三十九页,编辑于2023年,星期四>>

f=inline('4*x*y+3*y^2');>>

I=dblquad(f,-1,1,0,2)

f(x,y)

中关于第一自变量的运算是数组运算,

即把x

看成是向量,y

看成是标量。也可以全部采用数组运算例2:计算二重积分>>

dblquad(inline('4*x*y+3*x^2'),-1,1,0,2)>>

dblquad(inline('4*x*y+3*x.^2'),-1,1,0,2)X例1:计算二重积分dblquad举例第二十五页,共三十九页,编辑于2023年,星期四例:计算二重积分>>

dblquad(@(x,y)4*x*y+3*x.^2,-1,1,0,2)指定x、y

分别是第一和第二积分变量>>

dblquad(inline('4*x*y+3*x.^2'),-1,1,0,2)被积函数f(x,y)

的另一种定义方法:匿名函数>>

dblquad(@(y,x)4*x*y+3*x.^2,-1,1,0,2)下面的命令运行结果和上面的一样吗?dblquad举例第二十六页,共三十九页,编辑于2023年,星期四int(f,a,b)

计算

f

关于默认自变量

的定积分,积分区间为[a,b]。int(f)

计算

f

关于默认自变量

的不定积分。int(f,v,a,b)

计算函数f

关于自变量v

的定积分,积分区间为[a,b]int(f,v)

计算函数

f

关于自变量

v

的不定积分findsym(f,1)符号积分:

intint符号积分第二十七页,共三十九页,编辑于2023年,星期四>>

symsxy;>>

f=y*sin(x);>>

int(f,x)>>

int(f,y)>>

int(f)>>

int('a+b')ans=-y*cos(x)ans=1/2*y^2*sin(x)ans=-y*cos(x)ans=a*b+1/2*b^2例:指出下面各条语句的输出结果int举例第二十八页,共三十九页,编辑于2023年,星期四例:用int

函数计算定积分:解:>>

symsx;>>

f=1/(1+x^2);>>

int(f,x,0,1)>>

f=sym('1/(1+x^2)');>>

int(f,x,0,1)>>

int('1/(1+x^2)',x,0,1)或>>

int('1/(1+x^2)',0,1)或或int举例第二十九页,共三十九页,编辑于2023年,星期四double(a)将a

转化为双精度型,若a

是字符,则取对应的ASCII码>>

a=3;>>

double(a)>>

double('a')例:ans=3ans=97其它相关函数第三十页,共三十九页,编辑于2023年,星期四>>

x=1:0.001:2;>>

y=exp(x.^(-2));>>

trapz(x,y)

梯形法:

抛物线法:>>

quad('exp(x.^(-2))',1,2,10e-10)

符号积分法:>>

syms

x>>

int('exp(x^(-2))',x,1,2)例1:用Matlab

函数近似计算积分数值实验第三十一页,共三十九页,编辑于2023年,星期四

抛物线法:>>

dblquad(inline('x+y^2'),0,2,-1,1)

符号积分法:>>

f=int('x+y^2','y',-1,1);>>

int(f,0,2)数值实验例2:用Matlab

函数近似计算二重积分第三十二页,共三十九页,编辑于2023年,星期四抛物线法计算三重积分:triplequadtriplequad(f,a,b,c,d,e,f,tol)

tol

为计算精度,若不指定,则缺省精度为10-6

f可以是:

字符串;inline

定义的内联函数;函数句柄

[a,b]

是第一积分变量的积分区间,

[c,d]

是第二积分变量

的积分区间

[e,f]是第二积分变量的积分区间triplequad第三十三页,共三十九页,编辑于2023年,星期四

f(x,y,z)

中关于前两个自变量的运算是数组运算,

即把x,y看成是向量,z看成是标量。也可以全部采用数组运算例2:计算三重积分>>

triplequad(inline('4*x.*y+3*x.^2+z^2'),-1,1,0,2,0,1)>>

symsxyz>>int(int(int('4*x*y+3*x^2+z^2',x,-1,1),y,0,2),z,0,1)triplequad举例第三十四页,共三十九页,编辑于2023年,星期四>>

triplequad(@(x,y,z)4*x.*y+3*x.^2+z^2,-1,1,0,2,0,1)指定x、y,

z

分别是第一、二、三积分变量>>

triplequad(inline('4*x.*y+3*x.^2+z^2'),-1,1,0,2,0,1)被积函数f(x,y,z)

的另一种定义方法:匿名函数triplequad举例例2:计算三重积分第三十五页,共三十九页,编辑于2023年,星期四梯形数值积分命令trapz()clearx=0:pi/100:pi;y=sin(x);tr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论