《Matlab在微积分中的应用.ppt》由会员分享,可在线阅读,更多相关《Matlab在微积分中的应用.ppt(35页珍藏版)》请在金锄头文库上搜索。
1、Matlab在微积分中的应用高等数学最基本的概念集中在极高等数学最基本的概念集中在极限、导数、积分、微分等几个部限、导数、积分、微分等几个部分,本章主要介绍分,本章主要介绍Matlab在这几在这几方面的应用方面的应用1一、极限、导数与微分一、极限、导数与微分1、极限、极限llimit(expression,var) 该格式将对符号表达式中的变量该格式将对符号表达式中的变量var进进行其趋于行其趋于0时的求极限运算。时的求极限运算。Ex:sys x y a f=sin(x+2*y) limit(f,y)2l如果对系统的默认变量求极限时,也如果对系统的默认变量求极限时,也可不说明变量名。可不说明变
2、量名。 limit(f)l当需要求变量当需要求变量var在趋近于在趋近于a时的值时,时的值时,可用如下表达式:可用如下表达式:llimit(expression,var,a)32、导数与微分、导数与微分l函数函数f(x,y,z,)在某一点在某一点(x0,y0,z0,)的增长率即为此函数在该)的增长率即为此函数在该点的导数。对一元函数来说,严格定义如下:点的导数。对一元函数来说,严格定义如下: 可以用前面讲的可以用前面讲的limit命令来求各种函数的导命令来求各种函数的导数,但利用导数的基本概念,可以轻松地进数,但利用导数的基本概念,可以轻松地进行计算。行计算。4diff命令命令(1)函数)函数
3、f(x)=log(x) (即即lgx)的求导的求导 diff(f)(2)求函数的高阶导数)求函数的高阶导数 diff(f,n)(3)多元函数的求导)多元函数的求导 diff(function,variable,n) 其中其中n为求导阶数为求导阶数(4)对抽象函数的求导)对抽象函数的求导5二、积分二、积分1、不定积分、不定积分 int(f) int(f,var)Ex: syms x y z; int(sin(x*y+z) ans=-cos(x*y+z)/y如果对如果对z积分,应在积分,应在int命令后说明:命令后说明: int(sin(x*y+z),z)62、定积分与广义积分、定积分与广义积分l
4、在在Matlab中只要在中只要在int命令中加入积分限,命令中加入积分限,就可求得函数在积分上下限间的积分值:就可求得函数在积分上下限间的积分值:lint(function,var,积分下限积分下限,积分上限)积分上限)Ex: syms x y ansa=int(cos(x),0,pi/6); ansb=int(xy,y,0,pi/6);7l当积分限由某一具体数值变为正当积分限由某一具体数值变为正负无穷时,定积分便转变为广义积负无穷时,定积分便转变为广义积分,也只需将积分限变为无穷,就分,也只需将积分限变为无穷,就可以得到相应函数的广义积分值可以得到相应函数的广义积分值8Ex:求函数:求函数f
5、(x)=1/(x +2x+3),g(x)=1/(x +2x-3)在负在负无穷到正无穷的积分无穷到正无穷的积分syms xf=1/(x2+2*x+3); g=1/(x2+2*x-3);intf=int(f,-inf,inf);intg=int(g,-inf,inf)ezplot(f,-10,10);ezplot(g,-10,10);229g(x)在数轴上有不可积的奇点在数轴上有不可积的奇点10三、化简、提取与替换代入三、化简、提取与替换代入l1、化简、化简(1)pretty 如如A为待转化格式的代数式,命令为待转化格式的代数式,命令pretty(A)即可将)即可将A由机器格式转化由机器格式转化为
6、手写格式,而且在转化过程中不会为手写格式,而且在转化过程中不会对对A式进行任何化简或展开式进行任何化简或展开11(2)Matlab的化简命令的化简命令l降幂排列法(降幂排列法(collect)l展开法(展开法(expand)l重叠法(重叠法(horner)l因式分解法(因式分解法(factor)l单一化简(单一化简(simplify)l不定化简(不定化简(simple)12l降幂排列法(降幂排列法(collect) collect(A) collect(A,name_of_varible)l展开法(展开法(expand) 将代数式中所有的括号打开,将变量释将代数式中所有的括号打开,将变量释放出
7、来,但得出的结果并不进行任何整放出来,但得出的结果并不进行任何整理和幂次排列,只将其凌乱的堆在一起理和幂次排列,只将其凌乱的堆在一起13l重叠法(重叠法(horner) 重叠法使一种很特别的代数式的整理重叠法使一种很特别的代数式的整理化简方法。它的化简方法是将代数式化简方法。它的化简方法是将代数式尽量化为尽量化为ax(bx(cx(zx+z)+y)+)+b)+a 的形式。的形式。 horner(A)14l因式分解法(因式分解法(factor) 因式分解法是化简方法中最常用的一因式分解法是化简方法中最常用的一种方法,它的目的就是将代数式种方法,它的目的就是将代数式A化为化为由由x的一次项为单位的连
8、乘积的形式。的一次项为单位的连乘积的形式。 factor(A)15l单一化简(单一化简(simplify) 在在Matlab中,单一化简是指代数式在中,单一化简是指代数式在考虑了求和、积分、平方运算法则,三考虑了求和、积分、平方运算法则,三角函数、指数函数、对数函数、角函数、指数函数、对数函数、Bessel函数、函数、hypergeometric函数、函数、garmma函数的运算性质,经计算机比函数的运算性质,经计算机比较后转化的一种认为相对简单的形式。较后转化的一种认为相对简单的形式。此种转化只列出结果,用户并不知道这此种转化只列出结果,用户并不知道这种形式是经何种变换后得到的。但在普种形式
9、是经何种变换后得到的。但在普通的化简中,单一化简法倒不失为一种通的化简中,单一化简法倒不失为一种简便快捷的化简方法。简便快捷的化简方法。16l不定化简(不定化简(simple) 综合了前面几种化简方法的优点,综合了前面几种化简方法的优点,但也略显笨拙。因为它不仅将前面但也略显笨拙。因为它不仅将前面的每一种化简方法都试了一遍,还的每一种化简方法都试了一遍,还尝试了尝试了4、5种转化方法,最后还种转化方法,最后还一一将这些结果列了出来。列出的一一将这些结果列了出来。列出的结果往往多的超出结果往往多的超出3、4屏,用户屏,用户可细细观察挑选可细细观察挑选172、提取与替换代入、提取与替换代入l提取(
10、提取(subexpr) 在进行繁琐的数学运算中,经常会碰在进行繁琐的数学运算中,经常会碰到类似这样的情况:得到的方程的解到类似这样的情况:得到的方程的解中,有几个非常长的因子在解中出现中,有几个非常长的因子在解中出现很多遍,不管是在纸上还是在屏幕上,很多遍,不管是在纸上还是在屏幕上,它不仅使式子过长变得难看,而且在它不仅使式子过长变得难看,而且在转抄或粘贴时非常容易出错。转抄或粘贴时非常容易出错。 18Y,SIGMA=subexpr(X,SIGMA)或或Y,SIGMA=subexpr(X,SIGMA)l式中各参数含义如下:式中各参数含义如下:X:待整理的代数式或代数式的矩阵:待整理的代数式或代
11、数式的矩阵SIGMA:在整理过程中提出的各种因子:在整理过程中提出的各种因子将以矩阵的格式保存在名为将以矩阵的格式保存在名为SIGMA的的变量中变量中Y:经提取各种因子后,整理完毕的代:经提取各种因子后,整理完毕的代数式或其矩阵将被保存于数式或其矩阵将被保存于Y矩阵中矩阵中19代入(代入(subs)l在在Matlab中,将一代数式代入另一式中的中,将一代数式代入另一式中的操作命令名为操作命令名为subslss=subs(S,OLD,NEW)S:代数式名:代数式名OLD:代数式:代数式S中的将要被替换的旧变量名中的将要被替换的旧变量名NEW:将要替换:将要替换OLD的新变量或代数式的新变量或代数
12、式ss:替换后的新代数式:替换后的新代数式20四、级数求和四、级数求和l1、symsum(s) s为待求和的级数的通项表达式为待求和的级数的通项表达式 命令命令symsum(s)的功能是求出的功能是求出s关于系统默认变关于系统默认变量如量如k的由的由0到到k-1的有限项的和。如不能确定的有限项的和。如不能确定s的的默认变量,则可用默认变量,则可用findsym(s)命令来查的命令来查的 lsymsum(s,v) v为求和变量。求和将为求和变量。求和将v等于等于1求至求至v-121五、二重积分五、二重积分l在一个面上积分是二重积分的本质。只在一个面上积分是二重积分的本质。只要能明确的将积分面表达
13、出来并恰当转要能明确的将积分面表达出来并恰当转化成化成int命令中所需的积分限的形式,二命令中所需的积分限的形式,二重积分的结果就得到了。重积分的结果就得到了。 现在的重点是根据画出的积分平面的外现在的重点是根据画出的积分平面的外形,正确的定出两组积分限。在此将用形,正确的定出两组积分限。在此将用ezplot命令画出积分平面外形。命令画出积分平面外形。22Ex:计算函数:计算函数f=x /y 在区域在区域D上的积上的积分,其中分,其中D为直线为直线y=2x,y=x/2,y=12-x围成的区域围成的区域l1.划分积分区域划分积分区域 syms x y f=x2/y2; y1=2*x; y2=x/
14、2; y3=12-x; ezplot(y1) hold on ezplot(y2) hold on ezplot(y3,-2 15)22233条直线相应区域即为积分区域条直线相应区域即为积分区域24l2.确定积分限确定积分限pointA=fzero(2*x-x/2,0)pointB=fzero(2*x-(12-x),4)pointC=fzero(12-x-x/2,8)求得结果为:求得结果为:pointA=0pointB=4pointC=8即即xA=0,xB=4,xC=825l3.积分运算积分运算A1=int(f,y,x/2,2*x)A2=int(f,y,x/2,12-x)B1=int(A1,0
15、,4)B2=int(A2,4,8)Answer=B1+B226六、符号方程与方程组的求解六、符号方程与方程组的求解l1、线性方程组、线性方程组linsolveX=linsolve(A,B)A必须至少是行满秩必须至少是行满秩l2、非线性方程组和超越方程、非线性方程组和超越方程(1)solve(E),solve(E,var)E为符号方程为符号方程Var为代求符号变量为代求符号变量27(2)a1,a2,an=solve(E1,E2,En)a1,a2,an=solve(E1,E2,En,var1,var2,varn)28l3、方程的数值求解方法、方程的数值求解方法(1)一元方程转化的函数,其零点的求)
16、一元方程转化的函数,其零点的求法用法用fzero命令命令 z=fzero(fun,x) z=fzero(fun,x,tol) z=fzero(fun,x,tol,trace)29(2)非线性方程组的求解)非线性方程组的求解fsolve X=fsolve(functions_name,X0) 其中其中functions_name是预先以是预先以m函数函数格式写入格式写入Matlab的函数组的函数名。的函数组的函数名。X0是当函数组均等于零时对各变量的是当函数组均等于零时对各变量的解的估计。解的估计。301.求函数求函数y=sin3x/tg5x在在x=0处的极限处的极限2.求函数求函数y=1/x -3x+3的的50阶导数阶导数3.求求(2-sinx)/sin x的不定积分的不定积分4.求函数求函数f(x,y,z)=x +y z 在区域在区域D上的积分,区域上的积分,区域D为为D=(x,y,z)|x +y +z 15.对方程解进行替换代入对方程解进行替换代入,方程解为:方程解为:t=sovle(a*x6+b*x2+c)6.级数求和级数求和(3n+1)(z-1) zC,n=17.求解方程组:求解方程组: x+y+z=0 x +yz+x=10190 x/y+z/y+y/x+y/z=16327/225222/31/22/52222n31补充作业补充作业32333435