当前位置:首页 > 微积分的基本操作
第5章 微积分的基本操作
5.1极限
Mathematica计算极限的命令是Limit它的使用方法主要有:
Limit[expr,x->x0] 当x趋向于x0时求expr的极限 Limit[expr,x->x0,Direction->1] 当x趋向于x0时求expr的左极限 Limit[expr,x->x0,Direction->-1] 当x趋向于x0时求expr的右极限 趋向的点可以是常数,也可以是+∞,-∞ 例如:
x2?21.求lim x??3x?6In[1]:=Limit[Sqrt[x^2+2]/(3x-6),x->Infinity] Out[1]=
1 3sin2x2.求lim
x?0x2In[2]:=Limit[Sin[x]^2/x^2,x->0] Out[2]=1 3.求lim?x?0lnx xIn[3]:=Limit[Log[x]/x,x->0,Direction->-1] Out[3]= -∞
5.2微分
1.函数的微分
在Mathematica 中,计算函数的微分或导数是非常方便的,命令为D[f,x],表示对x求函数f的导数或偏导数。该函数的常用格式有以下几种
D[f,x] 计算导数
df?f或 dx?x?nfD[f,x1,x2,…] 计算多重偏导数
?x1?x2??xndnfD[f,{x,n}] 计算n阶导数
dxnD[f,x,NonConstants->{v1,v2,…}] 计算导数例如:
(1) 求函数sinx的导数 In[1]:=D[Sin[x],x]
df,其中v1,v2…依赖于x dxOut[1]=Cos[x]
(2) 求函数e x sinx的2阶导数 In[2]:=D[Exp[x]*Sin[x],{x,2}] Out[2]=2e x Cos[x]
(3) 假设a是常数,对sinax求导 In[3]:=D[Sin[a*x],x] Out[3]=aCos[ax]
(4) 二元函数f(x,y)=x 2 y+y 2 求f对x,y 的一阶和二阶偏导 In[4]:=f[x_,y_]=x^2*y+y^2 Out[4]= x 2 y+y 2 In[5]:=D[f[x,y],x] Out[5]=2xy
In[6]:=D[f[x,y],y] Out[6]=x 2 + 2y In[7]:=D[f[x,y],x,y] Out[7]=2x
In[8]:=D[f[x,y],{x,2}] Out[8]=2y
In[9]:=D[f[x,y],{y,2}] Out[9]=2
Mathematica可以求函数式未知的函数微分,通常结果使用数学上的表示法。 例如:
In[10]:=D[x*g[x],x] Out[10]=g[x]+xg′[x] In[11]:=D[x*g[x],{x,4}] Out[11]=4g (3)[x]+xg (4)[x]
对复合函数求导法则同样可用: In[12]:=D[g[h[x]],x] Out[12]=g′[h[x]] h′[x]
如果要得到函数在某一点的导数值,可以把这点代入导数如: In[13]:=D[Exp[x]*Sin[x],x]/.x->2 Out[13]=e 2 Cos[2]+e 2 Sin[2] In[14]:=N[%] Out[14]=3.64392
2.全微分
在Mathematica中,D[f,x]给出f的偏导数,其中假定f中的其他变量与x无关。当f为单变量时,D[f,x]计算f对x的导数。函数Dt[f,x]给出f的全微分形式,并假定f中所有变量依赖于x.下面是Dt命令的常用形及意义
Dt[f] 求全微分df Dt[f,x] 求f对x的微分
Dt[f,x1,x2,…] 求f对xi多重全微分 Dt[f,x,Constants->{c1,c2,….}] 求全微分df,其中c1,c2..是常数 下面我们求x 2 +y 2 的偏微分和全微分
In[1]:=D[x^2+y^2,x] Out[1]=2x
In[2]:=Dt[x^2+y^2,x] Out[2]=2x+2yDt[y,x]
可以看出第一种情况y与x没有关系,第二种情况y是x的函数。再看下列求多项式 x 2 +xy 3+yz的全微分并假定z保持不变是常数。
In[3]:=Dt[x^2+x*y^3+y*z,Constants->{z}]
Out[3]=2Dt[x,Constants→{z}]+y 3 Dt[x, Constants→{z}]
+3xy 2 Dt[y,Constants→{z}]+zDt[y, Constants→{z}]
如果y是x的函数,那么y被看成是常数 In[4]:=Dt[x^2+x*y[x]+y[x]*z]
Out[4]=2xDt[x]+Dt[x]y[x]+Dt[z]y[x]+xDt[x]y′[x]+zDt[x] y′[x]
5.3计算积分
1.不定积分
在Mathematica中计算不定积分命令为Integerate[f,x],当然也可使用工具栏直接输入不定积分式。来求函数的不定积分。当然并不是所有的不定积分都能求出来。
例如若求sinsinxdx Mathematica就无能为力: In[1]:=Integrate[Sin[Sin[x]],x] Out[1]=
??sin[sin[x]]dx
但对于一些手工计算相当复杂的不定积分,MatheMatica还是能轻易求得,例如求
u1?u2?2?11u2du
u1+u2In[2]:= ?du 22+11u1+u?1123ArcTanh[Out[2]=1111+u2]2 1111积分变量的形式也可以是一函数,例如: In[3]:=Sin[Sin[x]]dSin[x]
Out[3]= -Cos[Sin[x]]
输入命令也可求得正确结果: In[4]:=Integrate[Sin[Sin[x]],Sin[x]] Out[4]= -Cos[Sin[x]]
对于在函数中出现的除积分变量外的函数,统统当作常数处理,请看下面例子:
2In[5]:=(a*x+b*x+c)dx
??bx2ax3+Out[5]=cx+ 232.定积分
定积分的求解主要命令是Integrate[f,{x,min,max}], 或者使用工具栏输入也可以。例如求
?4?4x2eaxdx
In[6]:=Integrate[x^2Exp[ax],{x,-4,4}]
128eaxOut[6]=
3显然这条命令也可以求广义积分,例如求In[7]:=Integrate[1/(x-2)^2,{x,0,4}] Out[7]=∞
求无穷积也可以,例如
?401dx: 2(x-2)???11dx: 4xIn[8]:=Integrate[1/x^4,{x,1,Infinity}] Out[8]=
1 3如果广义积分发散也能给出结果,例如: In[9]:=Integrate[1/x^2,{x,-1,1}] Out[9]= ∞
如果无法判定敛散性,就用给出一个提示,例如: In[10]:=Integrate[1/x,{x,0,2}] Integrate::idiv: Integral of Out[10]=
1 does not converge on {0,2}. x?201dx x如果广义积分敛散性与某个符号的取值有关,它也能给出在不同情况下的积分结果。例如
???11dx: xpIn[11]:=Integrate[1/x^p,{x,1,Infinity}] Out[11]=If[Re[p]>1,
1
,Integrate[x –p,{x,1,∞},Assumptions→Re[p]≤1]] -1+p1,否则不收敛。在Integrate中可加两个参数-1+p结果的意义是当p >1时,积分值为
Assumptions 和 GenerateConditions例如上例中,只要用Assumptions->{Re[p]>1}就可以得到收敛情况的解:
In[12]:=Integrate[1/x^p,{x,1,Infinity},Assumptions->{Re[p]>1}]
共分享92篇相关文档