matlab数值积分与微分.ppt_第1页
matlab数值积分与微分.ppt_第2页
matlab数值积分与微分.ppt_第3页
matlab数值积分与微分.ppt_第4页
matlab数值积分与微分.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

第八章第八章 MATLABMATLAB数值积分数值积分 与微分与微分 Date1 n 数值积分 n 数值微分 *2 8.1 8.1 数值积分数值积分 8.1.1 8.1.1 数值积分基本原理数值积分基本原理 求解定积分的数值方法多种多样,如简单求解定积分的数值方法多种多样,如简单 的梯形法、辛普生的梯形法、辛普生(Simpson)(Simpson) 法、牛顿柯法、牛顿柯 特斯特斯(Newton-Cotes)(Newton-Cotes)法等都是经常采用的方法等都是经常采用的方 法。它们的基本思想都是将整个积分区间法。它们的基本思想都是将整个积分区间 a,ba,b 分成分成n n个子区间个子区间xi,xi+1xi,xi+1,i=1,2,ni=1,2,n, 其中其中x1=ax1=a,xn+1=bxn+1=b。这样求定积分问题就。这样求定积分问题就 分解为求和问题。分解为求和问题。 Date3 8.1.2 8.1.2 数值积分的实现方法数值积分的实现方法 1. 1. 变步长辛普生法变步长辛普生法 基于变步长辛普生法,基于变步长辛普生法,MATLABMATLAB给出了给出了 quadquad函数来求定积分。该函数的调用格式为:函数来求定积分。该函数的调用格式为: I,nI,n=quad(fname,a,b,tol,tracequad(fname,a,b,tol,trace) ) 其中其中fnamefname是被积函数名。是被积函数名。a a和和b b分别是定积分别是定积 分的下限和上限。分的下限和上限。toltol用来控制积分精度,缺省用来控制积分精度,缺省 时取时取toltol=0.001=0.001。tracetrace控制是否展现积分过程,控制是否展现积分过程, 若取非若取非0 0则展现积分过程,取则展现积分过程,取0 0则不展现,缺省则不展现,缺省 时取时取trace=0trace=0。返回参数。返回参数I I即定积分值,即定积分值,n n为被积为被积 函数的调用次数。函数的调用次数。 Date4 (1) (1) 建立被积函数文件建立被积函数文件fesin.mfesin.m。 function f=function f=fesin(xfesin(x) ) f=exp(-0.5*x).*sin(x+pi/6);f=exp(-0.5*x).*sin(x+pi/6); (2) (2) 调用数值积分函数调用数值积分函数quadquad求定积分。求定积分。 S,nS,n=quad(fesin,0,3*pi)=quad(fesin,0,3*pi) S =S = 0.9008 0.9008 n =n = 77 77 例例8-1 8-1 求定积分。求定积分。 Date5 2. 2. 牛顿柯特斯法牛顿柯特斯法 基于牛顿柯特斯法,基于牛顿柯特斯法,MATLABMATLAB给出了给出了 quad8quad8函数来求定积分。该函数的调用格式函数来求定积分。该函数的调用格式 为:为: I,nI,n=quadl(fname,a,b,tol,tracequadl(fname,a,b,tol,trace) ) 其中参数的含义和其中参数的含义和quadquad函数相似,只是函数相似,只是toltol 的缺省值取的缺省值取10-610-6。 该函数可以更精确地求出该函数可以更精确地求出 定积分的值,且一般情况下函数调用的步数定积分的值,且一般情况下函数调用的步数 明显小于明显小于quadquad函数,从而保证能以更高的效函数,从而保证能以更高的效 率求出所需的定积分值。率求出所需的定积分值。 Date6 (1) (1) 被积函数文件被积函数文件fx.mfx.m。 function f=function f=fx(xfx(x) ) f=x.*sin(x)./(1+cos(x).*f=x.*sin(x)./(1+cos(x).*cos(xcos(x);); (2) (2) 调用函数调用函数quadlquadl求定积分。求定积分。 I=quadl(fx,0,pi)I=quadl(fx,0,pi) I =I = 2.4674 2.4674 例例8-2 8-2 求定积分。求定积分。 Date7 例例8-3 8-3 分别用分别用quadquad函数和函数和quadlquadl函数求定积分的函数求定积分的 近似值,并在相同的积分精度下,比较函数近似值,并在相同的积分精度下,比较函数 的调用次数。的调用次数。 Date8 3. 3. 被积函数由一个表格定义被积函数由一个表格定义 在在MATLABMATLAB中,对由表格形式定义的函数中,对由表格形式定义的函数 关系的求定积分问题用关系的求定积分问题用trapz(X,Ytrapz(X,Y) )函数。其中函数。其中 向量向量X,YX,Y定义函数关系定义函数关系Y=Y=f(Xf(X) )。 例例8-4 8-4 用用trapztrapz函数计算定积分。函数计算定积分。 Date9 8.1.3 8.1.3 二重定积分的数值求解二重定积分的数值求解 使用使用MATLABMATLAB提供的提供的dblquaddblquad函数就可以直接函数就可以直接 求出上述二重定积分的数值解。该函数的调用求出上述二重定积分的数值解。该函数的调用 格式为:格式为: I=I=dblquad(f,a,b,c,d,tol,tracedblquad(f,a,b,c,d,tol,trace) ) 该函数求该函数求f(x,yf(x,y) )在在 a,bc,da,bc,d 区域上的二重定区域上的二重定 积分。参数积分。参数toltol,tracetrace的用法与函数的用法与函数quadquad完全相完全相 同。同。 Date10 例例8-5 8-5 计算二重定积分计算二重定积分 (1) (1) 建立一个函数文件建立一个函数文件fxy.mfxy.m: function f=function f=fxy(x,yfxy(x,y) ) global global kiki; ; kiki=ki+1; %=ki+1; %kiki用于统计被积函数的调用次数用于统计被积函数的调用次数 f=exp(-x.2/2).*sin(x.2+y);f=exp(-x.2/2).*sin(x.2+y); (2) (2) 调用调用dblquaddblquad函数求解。函数求解。 global global ki;kiki;ki=0;=0; I=dblquad(fxy,-2,2,-1,1)I=dblquad(fxy,-2,2,-1,1) kiki I =I = 1.57449318974494 1.57449318974494 kiki = = 1050 1050 Date11 8.2 8.2 数值微分数值微分 8.2.1 8.2.1 数值微分的实现数值微分的实现 在在MATLABMATLAB中,没有直接提供求数值导数的中,没有直接提供求数值导数的 函数,只有计算向前差分的函数函数,只有计算向前差分的函数diffdiff,其调用格,其调用格 式为:式为: DX=DX=diff(Xdiff(X) ):计算向量:计算向量X X的向前差分,的向前差分, DX(iDX(i)=X(i+1)-X(i)=X(i+1)-X(i),i=1,2,n-1i=1,2,n-1。 DX=DX=diff(X,ndiff(X,n) ):计算:计算X X的的n n阶向前差分。例如阶向前差分。例如 ,diff(X,2)=diff(X,2)=diff(diff(Xdiff(diff(X) )。 DX=DX=diff(A,n,dimdiff(A,n,dim) ):计算矩阵:计算矩阵A A的的n n阶差分,阶差分, dim=1dim=1时时( (缺省状态缺省状态) ),按列计算差分;,按列计算差分;dim=2dim=2, 按行计算差分。按行计算差分。 Date12 例例8-6 8-6

温馨提示

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

评论

0/150

提交评论