微积分问题的计算机求解_第1页
微积分问题的计算机求解_第2页
微积分问题的计算机求解_第3页
微积分问题的计算机求解_第4页
微积分问题的计算机求解_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、微积分问题的计算机求解一一. .微积分问题的解析解微积分问题的解析解二二. .函数的级数展开与级数求和问题求函数的级数展开与级数求和问题求 解解三三. .数值微分数值微分四四. .数值积分问题数值积分问题五五. .曲线积分与曲面积分的计算曲线积分与曲面积分的计算一微积分问题的求解 1. 极限问题的解析解极限问题的解析解 (1). 单变量函数的极限单变量函数的极限 调用格式调用格式: : L=limit(fun , x, L=limit(fun , x, x0) ) 求极限求极限 L=limit(fun , x, L=limit(fun , x, x0, left 或或right) ) 求单边极

2、求单边极限限注注: : 在求解之前应申明自变量在求解之前应申明自变量, ,再定义极限表达式再定义极限表达式fun,fun,若若x x0 0为无穷为无穷, ,则可以用则可以用 inf inf 直接表示直接表示. . 如果需要求解左如果需要求解左右极限问题还需要给出左右选项右极限问题还需要给出左右选项. . (2). (2). 多变量函数的极限多变量函数的极限 多元函数的极限也可以同样用多元函数的极限也可以同样用MatlabMatlab中的中的limit( )limit( )函数求解函数求解. . 假设有二元函数假设有二元函数, ,要求其二要求其二重极限重极限, ,可嵌套使用可嵌套使用limit(

3、 )limit( )函数函数. . L=limit(limit(f, x, x L=limit(limit(f, x, x0 0),y, y),y, y0 0) ) 或或 L=limit(limit(f, y, yL=limit(limit(f, y, y0 0),x, x),x, x0 0) )注注: :如果如果x x0 , 0 , y y0 0不是确定的值不是确定的值, ,而是另一个变量的函数而是另一个变量的函数, ,则上述极限的位置不能改变则上述极限的位置不能改变. . 2.函数导数的解析解函数导数的解析解(1). (1). 函数的导数和高阶导数函数的导数和高阶导数函数调用格式函数调用格

4、式: :Y=diff(fun , x) Y=diff(fun , x) 求导数求导数Y=diff(fun , x, n) Y=diff(fun , x, n) 求求n n阶导数阶导数注注: fun : fun 为给定函数为给定函数,x ,x 为自变量为自变量, , 这两个变量应这两个变量应该为符号型的该为符号型的,n ,n 为导数的阶次为导数的阶次. . 若省略若省略n n 则自则自动求取一阶导数动求取一阶导数. .(2). (2). 多元函数的偏导数多元函数的偏导数 Matlab的符号运算箱中并未提供求取偏导的符号运算箱中并未提供求取偏导数的专门函数数的专门函数,这些偏导数仍然可以通过这些偏

5、导数仍然可以通过diff( )函数直接实现函数直接实现. f=diff(diff(f , x, m), y, n) 或或 f=diff(diff(f , y, n), x, m)(3). (3). 多元函数的多元函数的JacobiJacobi矩阵矩阵 Jacobi Jacobi矩阵在图像处理矩阵在图像处理, , 机器人等诸多领域中均是机器人等诸多领域中均是很有用的矩阵很有用的矩阵, ,可以由可以由MatlabMatlab中的符号运算箱中的中的符号运算箱中的jacobian( )jacobian( )函数直接求得函数直接求得. . 函数调用格式函数调用格式: : G=jacobian(y, x)

6、G=jacobian(y, x)注:其中是自变量构成的向量,是由各个函注:其中是自变量构成的向量,是由各个函数构成的向量数构成的向量(3). (3). 隐函数的偏导数隐函数的偏导数调用格式:调用格式:(,(,)(,)(,)( (). ). 参数方程的导数参数方程的导数若已知参数方程(),()若已知参数方程(),()则函数的调用格式为:则函数的调用格式为:(,)(,(,)(,). 积分问题的解析积分问题的解析()不定积分的推导atlab 符号运算箱中提供了()符号运算箱中提供了()函数,可以用来求取符号函数的不定积分函数,可以用来求取符号函数的不定积分调用格式:调用格式:(,)(,)注:对于可积

7、函数,注:对于可积函数,atlab符号运算箱提供的符号运算箱提供的()函数可以用计算机代替繁重的手工推导,()函数可以用计算机代替繁重的手工推导,立即得到原始问题的解,而对于不可积的函数,立即得到原始问题的解,而对于不可积的函数,atlab也是无能为力的。也是无能为力的。(2)定积分与无穷积分计算有些函数不定积分可能不存在,但在实际应有些函数不定积分可能不存在,但在实际应用中需要求取它的具体定积分值或无穷积用中需要求取它的具体定积分值或无穷积分的值。例如:分的值。例如:erferf(x x)函数。在)函数。在MatlabMatlab语语言中仍然可以使用言中仍然可以使用 intint()函数来求

8、解定积()函数来求解定积分或无穷积分问题,其调用格式为:分或无穷积分问题,其调用格式为: I= int (f, x, a , b )I= int (f, x, a , b )注:注:x x为自变量,(为自变量,(a a,b b)为定积分的积分区间,)为定积分的积分区间,求解无穷积分时,允许将求解无穷积分时,允许将a a,b b设置成设置成-inf -inf 或或 infinf。如果得到的结果不是确切的数值,还可以用如果得到的结果不是确切的数值,还可以用vpavpa()()函数得出定积分的解函数得出定积分的解(3)多重积分问题的Matlab求解 多重积分问题也可在多重积分问题也可在MatlabM

9、atlab语言环境下直语言环境下直接求解,但需要根据实际情况去选择积分接求解,但需要根据实际情况去选择积分顺序,可积的部分作为内积分,然后再处顺序,可积的部分作为内积分,然后再处理外积分。每步积分均采用理外积分。每步积分均采用intint()函数处()函数处理,如果交换积分次序后仍不能基础解析理,如果交换积分次序后仍不能基础解析解,则说明原积分问题没有解析解,而需解,则说明原积分问题没有解析解,而需要数值方法求解原始的积分问题要数值方法求解原始的积分问题 二函数的级数展开与级数求和问题求解一一 Taylor幂级数展开幂级数展开(1 1)单变量函数的)单变量函数的TaylorTaylor幂级数展

10、开幂级数展开 函数函数 调用格式:调用格式: taylortaylor(f f,x x,k k) 按按x=0 x=0进行进行TaylorTaylor幂级数展开幂级数展开 taylortaylor(f f,x x,k k,a a)按)按x=ax=a进行进行TaylorTaylor幂级数展开幂级数展开注:注: f f为函数的符号表达式,为函数的符号表达式,x x为自变量,若函数只有为自变量,若函数只有一个自变量,则一个自变量,则x x可以省略。可以省略。K K为需要展开的项数,为需要展开的项数,默认值为默认值为6 6项。还可以给出项。还可以给出a a参数,表明需要获得关参数,表明需要获得关于于x=

11、a x=a 的幂级数展开。的幂级数展开。(1 1)多变量函数的)多变量函数的TaylorTaylor幂级数展开幂级数展开 MatlabMatlab的符号运算工具箱并未提供计算多变量函数的符号运算工具箱并未提供计算多变量函数TaylorTaylor幂级数展开的直接函数,但可以用幂级数展开的直接函数,但可以用MatlabMatlab基本的语句计算基本的语句计算该展开。另外,可以调用该展开。另外,可以调用MapleMaple语言中的语言中的mtaylormtaylor()函数()函数来直接求取多变量函数来直接求取多变量函数TaylorTaylor幂级数展开,其调用格式为:幂级数展开,其调用格式为:

12、F=mapleF=maple(mtaylormtaylor,f f,x1,.,xn, kx1,.,xn, k) 原点展开原点展开F=mapleF=maple(mtaylormtaylor,f f,x1=a1,.,xn=an, kx1=a1,.,xn=an, k)在)在 (a1a1,.,an.,an)点展开)点展开注:其中注:其中k-1k-1为展开的最高阶次,为展开的最高阶次,f f为原多变量函数,该函数为原多变量函数,该函数调用时自变量的引号不能省略,该地调用格式将原封不动调用时自变量的引号不能省略,该地调用格式将原封不动将这些信息传递给将这些信息传递给MapleMaple语言。语言。(2 2

13、)FourierFourier级数展开级数展开 Matlab和和Maple语言均未提供求解语言均未提供求解Fourier系数与级数的现成函数。系数与级数的现成函数。但不难编写出其求解函数:但不难编写出其求解函数: function A,B,F=fseries(f,x,n,a,b) if nargin=3,a=-pi; b=pi; end L=(b-a)/2; if a+b,f=subs(f,x,x+L+a);end A=int(f,x,-L,L)/L; B= ; F=A/2; for i=1:n an=int(f*cos(i*pi*x/L),x,-L,L)/L; bn=int(f*sin(i*

14、pi*x/L),x,-L,L)/L; A=A,an; B=B,bn; F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L); end if a+b, F=subs(F,x,x-L-a);end该函数的调用格式为:该函数的调用格式为: A,B,F=fseries(f,x,n,a,b)注:其中注:其中 f 为给定函数,为给定函数,x为自变量,为自变量,n为展为展开项数,开项数,a,b为为x 的区间,可以省略取其的区间,可以省略取其默认值为默认值为-pi,pi,得出的,得出的A ,B为为Fourier系数,系数,F为展开式。为展开式。 当然,仿照上述函数不难写出其数值版。当然,

15、仿照上述函数不难写出其数值版。(3 3)级数求和的计算)级数求和的计算 符号运算工具箱提供的符号运算工具箱提供的symsumsymsum()函数()函数可以用于已知通项的有穷或无穷级数的求可以用于已知通项的有穷或无穷级数的求和。该函数的调用格式为:和。该函数的调用格式为: S=symsumS=symsum( f fk k ,k k,k k0 0,k kn n) 注:其中注:其中f fk k 为级数的通项,为级数的通项,k k为级数自变量,为级数自变量, k k0 0,k kn n为级数求和的起始项和终止项并可以为级数求和的起始项和终止项并可以将起始项和终止项设置成无穷量将起始项和终止项设置成无

16、穷量infinf。三 数值微分 前面介绍了已知原型函数,可以通过diff( )函数求取各阶导数解析解的方法,并可得出结论:高达100阶的导数可以用Matlab语言在几秒钟的时间内直接求出。应该指出,前面介绍的解析方法的前提是原型函数为已知的。如果函数表达式未知,只有实验数据,在实际应用中经常也有求导的要求,这样的问题就不能用前面的方法获得问题的解析解。要求解这样的问题,需要引入数值算法得到所需问题的解。由于在Matlab语言中没有现成的数值微分函数,所以,我们介绍较好算法的Matlab 实现。1 中心差分方法及其中心差分方法及其MatlabMatlab实现实现调用函数为:调用函数为: dy,d

17、x=diff_ctr(y,dt, n)注:注:y为给定的等间距的实测数据构成的向量,为给定的等间距的实测数据构成的向量,dt为自变量为自变量的间距,的间距,n为所需导数阶次。向量为所需导数阶次。向量dy为得出的导数向量,为得出的导数向量,dx 为相应的自变量向量。注意这两个向量的长度比为相应的自变量向量。注意这两个向量的长度比y短。短。2 二元函数的梯度计算二元函数的梯度计算 如果给定二元函数的函数值矩阵如果给定二元函数的函数值矩阵z,其中,其中z 为网格为网格数据,则可以由数据,则可以由gradient()函数求取二元函数()函数求取二元函数的梯度。其调用格式为:的梯度。其调用格式为: fx

18、,fy= gradient(z) 注:其实这样算出来的注:其实这样算出来的fx,fy不是真正的梯度。这不是真正的梯度。这里尚未考虑里尚未考虑x,y坐标的情况。如果得到的坐标的情况。如果得到的z矩阵矩阵建立在等间距的形式生成网格基础上的,则实际建立在等间距的形式生成网格基础上的,则实际的梯度值可以如下求出:的梯度值可以如下求出: fx= fx /dx, fy= fy/dy 这里这里dx,dy分别为分别为x,y生成网格的步距。生成网格的步距。 四 数值积分问题由给定数据进行梯形求积由给定数据进行梯形求积 假设已建立起向量假设已建立起向量x,y则可用下面的语句则可用下面的语句得出积分值:得出积分值:

19、 sum(2*y(1:end-1:)+diff(y).*diff(x)/2Matlab提供的提供的trapz()函数也可以直接用梯形()函数也可以直接用梯形法求解积分问题,该函数调用格式为:法求解积分问题,该函数调用格式为: S=trapz(x,y)其中,其中,x可为行向量或列向量,可为行向量或列向量,y的行数应该等的行数应该等于于x向量的元素数。如果向量的元素数。如果y由多列矩阵给出,则由多列矩阵给出,则该函数可以得出若干个函数的积分值。该函数可以得出若干个函数的积分值。2 单变量数值积分问题求解单变量数值积分问题求解 单变量函数的数值积分还可以采用一般数值分析中介绍的单变量函数的数值积分还可以采用一般数值分析中介绍的其他算法求解。例如:采用其他算法求解。例如:采用Simpson方法。基于此算法,方法。基于此算法,采用自适应变步长方法给出了采用自适应变步长方法给出了 quad()函数来求取定积()函数来求取定积分,该函数的调用格式为:分,该函数的调用格式为: y=quad(Fun,a,b) 求定积分求定积分 y=quad(Fun,a,b,usilon) 限定精度限定精度注:注:Fun为描述被积函数的字符串变量,可以是一个为描述被积函数的字符串变量,可以

温馨提示

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

评论

0/150

提交评论