RSolve[{a[n]==n*a[n-1],a[1]==1},a[n],n]
即可(结果见下图)
1.10作函数图像
例1.8在同一坐标系中作出
和y=sinx在[-2,2]内的图像.
输入:
Plot[{x^2-1,Sin[x]},{x,-2,2}]
结果见下图
例1.9作出sinxcosy的三维图形
输入:
Plot3D[Sin[x]*Cos[y],{x,-2Pi,2Pi},{y,-2Pi,2Pi},PlotPoints->100]
即可(结果见下图)
第二章运用Mathematica实现高等数学中的基本运算
极限、导数和积分是高等数学中的主要概念和基本运算,如果你在科研中遇到较复杂的求极限、求导数或求积分问题,Mathematica可以帮你快速解决这些问题。
Mathematica提供了方便的命令使这些运算能在计算机上实现,使一些难题迎刃而解。
2.1求极限运算
极限的概念是整个高等数学的基础,对表达式进行极限分析也是数学里很重要的计算分析。
Mathematica提供了计算函数极限的命令的一般形式为:
Limit[函数,极限过程]
具体命令形式为
命令形式1:
Limit[f,x->x0]
功能:
计算
其中f是x的函数。
命令形式2:
Limit[f,x->x0,Direction->1]
功能:
计算
,即求左极限,其中f是x的函数。
命令形式3:
Limit[f,x->x0,Direction->-1]
功能:
计算
,即求右极限,其中f是x的函数。
注意:
在左右极限不相等或左右极限有一个不存在时,Mathematica的默认状态为求右极限。
例题:
例2.1求极限
解:
Mathematica命令为
In[1]:
=Limit[1/(xLog[x]^2)-1/(x-1)^2,x->1]
Out[1]=
此极限的计算较难,用Mathematica很容易得结果。
例2.2求极限
解:
Mathematica命令为
In[2]:
=Limit[(1+1/n)^n,n->Infinity]
Out[2]=E
例2.3写出求函数
在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]
读者可以比较其结果,观察区别。
例2.4求
解:
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节)
例2.5求极限
解:
若输入命令
In[4]:
=Limit[Integrate[ArcTan[t]^2,{t,0,x}]/Sqrt[1+x^2],x->+Infinity]
屏幕会出现如下的红色英文提示信息:
On:
:
none:
MessageSeriesData:
:
csanotfound.
……………………………………………………
ComplexInfinity+<<1>>encountered.
说明不能得出正确结果。
此时可以借助人工处理,如用一次洛必达法则后再求极限:
In[5]:
=Limit[ArcTan[x]^2/(x/Sqrt[1+x^2]),x->Infinity]
Out[5]=
2.2求导数与微分
2.2.1求一元函数的导数与微分
导数是函数增量与自变量增量之比的极限,一元函数求导有显函数求导、参数方程求导和隐函数求导,Mathematica对应的命令有:
●显函数求导
命令形式1:
D[f,x]功能:
求函数f对x的偏导数。
命令形式2:
D[f,{x,n}]功能:
求函数f对x的n阶偏导数。
例2.6变上限函数
求导
解:
Mathematica命令为
In[6]:
=D[Integrate[Sqrt[1-t^2],{t,0,x^2}],x]
Out[6]=
In[7]:
=Simplify[%]
Out[7]=
●参数方程求导
对参数方程
所确定的函数y=f(x),根据公式
和命令形式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]]
来实现。
例2.7求参数方程
的一阶导数。
解:
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,但等号要双写。
例2.8求
所确定的函数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]=
●微分
微分是函数增量的线性主部,函数y=f(x)的微分与导数的关系为dy=df=f(x)dx,Mathematica命令为:
命令形式:
Dt[f]功能:
对函数f(x)求微分df
例2.9求
和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]
2.2.2求多元函数偏导数与全微分
●偏导数
对多元函数f(x1,x2,…xn)的求导数的命令有如下几个:
命令形式1:
D[f,x]功能:
求函数f对x的偏导数;
命令形式2:
D[f,x1,x2,…]功能:
求函数f高阶混合偏导数
;
命令形式3:
D[f,x,NonConstants->{v1,v2,…}]
功能:
求函数f对x的偏导数,其中v1,v2,…是关于x的函数。
例题
例2.10求z=asin(xy)对y和
对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]=
例2.11对函数
求
解:
Mathematica命令
In[17]:
=D[x^3*y^2+Sin[x*y],x,y]
Out[17]=
例2.12对函数
求
解:
Mathematica命令
In[18]:
=D[x^3*y^2+Sin[xy],{x,3}]
Out[18]=
例2.13
,其中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的全微分。
例2.14求
的全微分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]的区别。
例2.15求
的全导数
,其中y是x的函数。
解:
Mathematica命令
In[21]:
=Dt[x^2+y^2,x]
Out[21]=2x+2yDt[y,x]
例2.16求
,其中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}]
2.3求不定积分
高等数学中求不定积分是较费时间的事情,在Mathematica中,只要输入一个命令就可以快速求出不定积分来。
命令形式:
Integrate[f,x]
功能:
计算不定积分
。
例2.17计算
解:
Mathematica命令
In[23]:
=Integrate[1/(Sin[x]^2Cos[x]^2),x]
Out[23]=-(Cos[2x]Csc[x]Sec[x])
2.4求定积分
定积分的计算是实际问题中经常遇到的问题,定积分计算同样也是较费时间的事情,而且有时还会遇到因求不出原函数而积不出结果的情况,这些在Mathematica中,也只要输入一个命令就可以快速求出定积分值来。
命令形式1:
Integrate[f[x],{x,xmin,xmax}]
功能:
计算定积分
,xmin,xmax分别表示积分变量的下限和上限。
命令形式2:
NIntegrate[f[x],{x,xmin,xmax}]
功能:
计算定积分
的数值积分,xmin,xmax必须是数字,不能是字母。
命令形式3:
Integrate[f[x,y],{x,xmin,xmax},{y,ymin,ymax}]
功能:
计算重积分
xmin,xmax,ymin,ymax表示积分限。
注意:
命令形式2主要用于用命令形式1求不出结果的定积分问题或高等数学中的没有原函数的定积分问题。
例题
例2.18计算定积分
解:
Mathematica命令
In[24]:
=Integrate[(1+x-1/x)*Exp[x+1/x],{x,1/2,2}]
Out[24]=
例2.19计算广义积分
解:
Mathematica命令
In[25]:
=Integrate[1/x^4,{x,1,+Infinity}]
Out[25]:
=
例2.20计算瑕积分
解:
Mathematica命令
In[26]:
=Integrate[x/Sqrt[1-x^2],{x,0,1}]
Out[26]=1
例2.21计算定积分
解:
本题用定积分基本公式是积不出来的,用上面命令2可以计算出结果:
Mathematica命令
In[27]:
=NIntegrate[Exp[x^2],{x,0,1}]
Out[27]=1.46265
例2.22计算
D由y=1,x=4,x=2y所围
解:
对二重积分要先化为累次积分,定好积分限后,再使用命令形式3。
本题的Mathematica命令为
In[28]:
=Integrate[x*y,{x,2,4},{y,1,x/2}]
Out[28]=
例2.23计算
解:
Mathematica命令
In[29]:
=Integrate[x^2+y,{x,0,1},{y,x^2,Sqrt[x]}]
Out[29]=
第三章实验练习题
1)用Mathematica求下列极限:
⑴
;⑵
;
⑶
;⑷
;
⑸
;⑹
。
2)用Mathematica求下列函数的一阶导函数
(1)
;
(2)
。
3)用Mathematica求下列不定积分
(1)
;
(2)
;
(3)
;(4)
;
(5)
;(6)
;
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求