第四章微积分运算命令与例题极限、导数和积分是高等数学中的主要概念和运算,如果你在科研中遇到较复杂的求极限、求导数或求积分问题,Mathematica可以帮你快速解决这些问题。Mathematica提供了方便的命令使这些运算能在计算机上实现,使一些难题迎刃而解。4.1求极限运算极限的概念是整个高等数学的基础,对表达式进行极限分析也是数学里很重要的计算分析。Mathematica提供了计算函数极限的命令的一般形式为:Limit[函数,极限过程]具体命令形式为命令形式1:Limit[f,x-x0]功能:计算xflim0xx,其中f是x的函数。命令形式2:Limit[f,x-x0,Direction-1]功能:计算xflim0-xx,即求左极限,其中f是x的函数。命令形式3:Limit[f,x-x0,Direction--1]功能:计算xflim0xx,即求右极限,其中f是x的函数。注意:在左右极限不相等或左右极限有一个不存在时,Mathematica的默认状态为求右极限。例题:例1.求极限)11ln1(lim221xxxx解:Mathematica命令为In[1]:=Limit[1/(xLog[x]^2)-1/(x-1)^2,x-1]Out[1]=121此极限的计算较难,用Mathematica很容易得结果。例2.求极限nnn11lim解:Mathematica命令为In[2]:=Limit[(1+1/n)^n,n-Infinity]Out[2]=E例3写出求函数xe1在x-0的三个极限命令解:Mathematica命令为1.Limit[Exp[1/x],x-0]2.Limit[Exp[1/x],x-0,Direction-1]3.Limit[Exp[1/x],x-0,Direction--1]读者可以比较其结果,观察区别。例4.求2020022limxtxtxdxetdxe解:Mathematica命令为In[3]:=Limit[Integrate[Exp[t^2],{t,0,x}]^2/Integrate[tExp[t^2]^2,{t,0,x}],x-0]Out[3]=2命令中的“Integrate”表示求定积分(见4.4节)例5求极限1)(arctanlim202xdttxx解:若输入命令In[4]:=Limit[Integrate[ArcTan[t]^2,{t,0,x}]/Sqrt[1+x^2],x-+Infinity]屏幕会出现如下的红色英文提示信息:On::none:MessageSeriesData::csanotfound.……………………………………………………ComplexInfinity+1encountered.说明不能得出正确结果。此时可以借助人工处理,如用一次洛必达法则后再求极限:In[5]:=Limit[ArcTan[x]^2/(x/Sqrt[1+x^2]),x-Infinity]Out[5]=4Pi24.2求导数与微分4.2.1求一元函数的导数与微分导数是函数增量与自变量增量之比的极限,一元函数求导有显函数求导、参数方程求导和隐函数求导,Mathematica对应的命令有:显函数求导命令形式1:D[f,x]功能:求函数f对x的偏导数。命令形式2:D[f,{x,n}]功能:求函数f对x的n阶偏导数。例6:变上限函数dttxfx2021)(求导解:Mathematica命令为In[6]:=D[Integrate[Sqrt[1-t^2],{t,0,x^2}],x]Out[6]=]/2x2xSqrt[1]xSqrt[12x]xSqrt[12x4454In[7]:=Simplify[%]Out[7]=]x2xSqrt[14参数方程求导对参数方程y(t)yx(t)x所确定的函数y=f(x),根据公式dtdxdtdydxdy//和命令形式1,可用三个Mathematica命令实现对参数方程的求导:r=D[x,t];s=D[y,t];Simplify[s/r]或用Mathematica自定义一个函数:pD[x_,y_,t_]:=Module[{s=D[y,t],r=D[x,t]},Simplify[s/r]]来实现。例7.求参数方程ttyttxcos)sin1(的一阶导数。解:Mathematica命令In[8]:=x=t*(1-Sin[t]);y=t*Cos[t];s=D[y,t];r=D[x,t];Simplify[s/r]Cos[t]-tSin[t]Out[8]=---------------------1-tCos[t]-Sin[t]或In[9]:=pD[x_,y_,t_]:=Module[{s=D[y,t],r=D[x,t]},Simplify[s/r]]In[10]:=pD[t*(1-Sin[t]),t*Cos[t],t]Cos[t]-tSin[t]Out[10]=-----------------------1-tCos[t]-Sin[t]隐函数求导由方程f(x,y)=0所确定的函数y=y(x)的导数可用一个自定义函数完成,这个函数为impD[eqn_,y_,x_]:=Module[{s,r,t},s=D[eqn,x,NonConstants-{y}];r=Solve[s,D[y,x,NonConstants-{y}]];t=D[y,x,NonConstants-{y}]/.r;Simplify[t]]注:这里NonConstants-{y}指出y不是常数,eqn为f(x,y)=0,但等号要双写。例8.求0exyey所确定的函数y=y(x)的导数。解:Mathematica命令In[11]:=impD[eqn_,y_,x_]:=Module[{s,r,t},s=D[eqn,x,NonConstants-{y}];r=Solve[s,D[y,x,NonConstants-{y}]];t=D[y,x,NonConstants-{y}]/.r;Simplify[t]]In[12]:=impD[Exp[y]+x*y-E==0,y,x]Out[12]=xEyy微分微分是函数增量的线性主部,函数y=f(x)的微分与导数的关系为dy=df=f(x)dx,Mathematica命令为:命令形式:Dt[f]功能:对函数f(x)求微分df例9.求2sinxy和y=sinv的微分.解:Mathematica命令In[13]:=Dt[Sin[x^2]]Out[13]=2xCos[x2]Dt[x]In[14]:=Dt[Sin[v]]Out[14]=Cos[v]Dt[v]4.2.2求多元函数偏导数与全微分偏导数对多元函数f(x1,x2,…xn)的求导数的命令有如下几个:命令形式1:D[f,x]功能:求函数f对x的偏导数;命令形式2:D[f,x1,x2,…]功能:求函数f高阶混合偏导数fx2x1;命令形式3:D[f,x,NonConstants-{v1,v2,…}]功能:求函数f对x的偏导数,其中v1,v2,…是关于x的函数。例题例10:求z=asin(xy)对y和2zyxeu对z的偏导数.解:Mathematica命令In[15]:=D[a*Sin[x*y],y]Out[15]=axCos[xy]In[16]:=D[Exp[x+y+z^2],z]Out[16]=z2E2zyx例11:对函数sin(xy)yxz23,求yxz2解:Mathematica命令In[17]:=D[x^3*y^2+Sin[x*y],x,y]Out[17]=]yySin[xxyxCosy6x2例12:对函数sin(xy)yxz23,求33xz解:Mathematica命令In[18]:=D[x^3*y^2+Sin[xy],{x,3}]Out[18]=yxCosy6y32例13.222zyxu,其中y,z是x的函数。解:Mathematica命令In[19]:=D[x^2+y^2+z^2,x,NonConstants-{y,z}]Out[19]=2x+2yD[y,x,NonConstants-{y,z}]+2zD[z,x,NonConstants-{y,z}]其中:D[y,x,NonConstants-{y,z}]和D[z,x,NonConstants-{y,z}]分别表示y对x和的z对x的导数。全微分多元函数f(x,y,z,…)的全微分命令同一元函数的微分,其命令为:命令形式:Dt[f]功能:求函数f的全微分。例14:求22yxz的全微分dz。解:Mathematica命令In[20]:=Dt[x^2+y^2]Out[20]=2xDt[x]+2yDt[y]如果多元函数的变量都是或部分是某一个变量的函数,则该函数关于此变量的导数称为的全导数,Mathematica有如下两个求全导数的命令:命令形式1:Dt[f,x]功能:求函数f的全导数。命令形式2:Dt[f,x,Constants-{c1,c2,…}]功能:求函数f的全导数,其中f中的变元与x无关。注意:D[f,x]与Dt[f,x]的区别。例15:求22yxz的全导数dxdz,其中y是x的函数。解:Mathematica命令In[21]:=Dt[x^2+y^2,x]Out[21]=2x+2yDt[y,x]例16:求xzsinxyx22,其中y是与x无关的独立变量。解:Mathematica命令In[22]:=Dt[x^2+Sin[xy]+z^2,x,Constants-{y}]Out[22]=2x+yCos[xy]+2zDt[z,x,Constants-{y}]4.3求不定积分高等数学中求不定积分是较费时间的事情,在Mathematica中,只要输入一个命令就可以快速求出不定积分来。命令形式:Integrate[f,x]功能:计算不定积分dxxf。例17:计算dxxxcossin122解:Mathematica命令In[23]:=Integrate[1/(Sin[x]^2Cos[x]^2),x]Out[23]=-(Cos[2x]Csc[x]Sec[x])4.4求定积分定积分的计算是实际问题中经常遇到的问题,定积分计算同样也是较费时间的事情,而且有时还会遇到因求不出原函数而积不出结果的情况,这些在Mathematica中,也只要输入一个命令就可以快速求出定积分值来。命令形式1:Integrate[f[x],{x,xmin,xmax}]功能:计算定积分xmaxxminf(x)dx,xmin,xmax分别表示积分变量的下限和上限。命令形式2:NIntegrate[f[x],{x,xmin,xmax}]功能:计算定积分xmaxxminf(x)dx的数值积分,xmin,xmax必须是数字,不能是字母。命令形式3:Integrate[f[x,y],{x,xmin,xmax},{y,ymin,ymax}]功能:计算重积分ymaxyminxmaxxminy)dyf(x,dx,xmin,xmax,ymin,ymax表示积分限。注意:命令形式2主要用于用命令形式1求不出结果的定积分问题或高等数学中的没有原函数的定积分问题。例题例18.计算定积分dxexxxx1221)11(解:Mathematica命令In[24]:=Integrate[(1+x-1/x)*Exp[x+1/x],{x,1/2,2}]Out[24]=23E5/2例19.计算广义积分141dxx解:Mathematica命令In[25]:=Integrate[1/x^4,{x,1,+Infinity}]Out[25]:=31例20.计算瑕积分dxx1x102解:Mathematica命令In[26]:=Integrate[