10.50-0.5-1-202410.50-0.5-1-220-2-4 Out[14]= -GraphicsArray-
命令ParametricPlot3D[{fx,fv,fz},{t,tmin,tmax},{u,umin,umax}] 产生一个曲面而不是一条曲线,曲面是由四边形组成。
In[15]:= ParametricPlot3D[{r,Exp[- r^2Cos[4r]^2]*Cos[t], Exp[- r^2Cos[4r]^2]*Sin[t]}, {r,-1,1},{t,0,2Pi}] 10.50-0.5-110.50-0.5-1-1-0.500.51 Out[15]= -Graphics3D- 下面这个图形也很漂亮 In[16]:= ParametricPlot3D[{Cos[u]Sin[v],Sin[u]Sin[v], Cos[v]+Log[Tan[v/2]]+0.1*u},
{u,0,4Pi},{v,0.001,1},PlotPoints->{64,32}]
41
-0.50.50-0.50.5100-1-2-3 Out[16]= -Graphics3D-
第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的右极限 趋向的点可以是常数,也可以是+∞,-∞ 例如: 1.求limx?23x?62x?? In[1]:=Limit[Sqrt[x^2+2]/(3x-6),x->Infinity] Out[1]=13 sinxx222.求limx?0 In[2]:=Limit[Sin[x]^2/x^2,x->0] Out[2]=1 3.求lim?x?0lnxx In[3]:=Limit[Log[x]/x,x->0,Direction->-1] Out[3]= -∞
42
5.2 微分
1. 函数的微分
在Mathematica 中,计算函数的微分或导数是非常方便的,命令为D[f,x],表示对x求函数f的导数或偏导数。该函数的常用格式有以下几种
D[f,x] 计算导数
dfdx或
?f?x
?fnD[f,x1,x2,…] 计算多重偏导数
?x1?x2??xnn
D[f,{x,n}] 计算n阶导数D[f,x,NonConstants->{v1,v2,…}] 例如:
(1) 求函数sinx的导数 In[1]:=D[Sin[x],x] Out[1]=Cos[x]
(2) 求函数e 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]
x
dfdxn
dfdx计算导数,其中v1,v2…依赖于x
(4) 二元函数f(x,y)=x y+y 求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 + 2y In[7]:=D[f[x,y],x,y] Out[7]=2x
In[8]:=D[f[x,y],{x,2}] Out[8]=2y
2
2 2
43
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 [x]
(4)
对复合函数求导法则同样可用: 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 Cos[2]+e Sin[2] In[14]:=N[%] Out[14]=3.64392
2
2
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 +xy +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}]
2
3
44
+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
u1?u2?11u22但对于一些手工计算相当复杂的不定积分,MatheMatica还是能轻易求得,例如求?u1+u2+11u22du
In[2]:=
?du
Out[2]=1+u1123ArcTanh[?12111+u]21111 积分变量的形式也可以是一函数,例如: 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]] 对于在函数中出现的除积分变量外的函数,统统当作常数处理,请看下面例子: In[5]:=?(a*x2+b*x+c)dx Out[5]=cx+bx22+ax33
2. 定积分
45