Mathematica微积分运算命令与例题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
极限、导数和积分是高等数学中的主要概念和运算,如果你在科研中遇到较复杂的求 极限、求导数或求积分问题, Mathematica 可以帮你快速解决这些问题。
Mathematica 提供
了方便的命令使这些运算能在计算机上实现,使一些难题迎刃而解。
4.1求极限运算
极限的概念是整个高等数学的基础,对表达式进行极限分析也是数学里很重要的计算分
析。
Mathematica 提供了计算函数极限的命令的一般形式为:
Limit[函数,极限过程]
具体命令形式为
命令形式 1:Limit[f, x->xO]
功能:计算lim f x ,其中f 是x 的函数。
x x 0
命令形式 2:Limit[f, x->x0, Direction->1]
功能:计算lim f x ,即求左极限,其中f 是x 的函数。
x x -0
命令形式 3:Limit[f, x->x0, Direction->-1]
功能:计算lim f x ,即求右极限,其中f 是x 的函数。
x x 0
注意:在左右极限不相等或左右极限有一个不存在时, Mathematica 的默认状态为求右极限。
例题:
1 1
例1.求极限lim (
2
2)
x 1
xln x x 1
解:Mathematica 命令为
In [1]:= Limit[1/(x Log[x]A 2)-1/(x-1)A 2, x->1]
1
OUt[1]
= 11
n
1
例2.求极限lim 1
—
n
n
解:Mathematica 命令为
In [2]:= Limit[(1+1/ n)A n, n->I nfin ity] Out[2]=E
第四章
微积分运算命令与例题
此极限的计算较难,用 Mathematica 很容易得结果。
例3
1
写出求函数e 亍在x->0的三个极限命令
解:
Mathematica 命令为 1. Limit[Exp[1/x], x->0]
2. L imit[Exp[1/x], x->0, Direction->1]
3. L imit[Exp[1/x], x->0, Direction->-1] 读者可以比较其结果,观察区别。
2
e t dx
解:Mathematica 命令为
In [3]:= Limit[ In tegrate[Exp[t A 2], {t,0,x}]A 2/I ntegrate[t Exp[t A 2]A 2,{t,0,x}], x->0] Out[3]=2
命令中的“ Integrate ”表示求定积分(见 4.4节)
x
2
(arctant) dt
解:若输入命令
In[4]:= Limit[ Integrate[ArcTan[tF2, {t,O,x}] / Sqrt[1+xA2], 屏幕会出现如下的红色英文提示信息
:
On:: none: Message SeriesData::csa not found.
Complex Infin ity + <<1>> encoun tered.
说明不能得出正确结果。
此时可以借助人工处理,如用一次洛必达法则后再求极限
In [5]:= Limit[ArcTa n[xF2/(x/Sqrt[1+xA2]), x->I nfin ity]
4.2求导数与微分
4.2.1求一元函数的导数与微分
导数是函数增量与自变量增量之比的极限,一元函数求导有显函数求导、参数方程求 导和隐函数求导, Mathematica 对应的命令有:
显函数求导
例4•求lim x 0
x
t e t 2
2 dx
例5求极限lim
x
x->+I nfinity]
Out[5]=
Pi 2
功能:求函数f 对x 的偏导数。
功能:求函数f 对x 的n 阶偏导数。
解:Mathematica 命令为
In [6]:= D[I ntegrate[Sqrt[1-tA2], {t,0,x A 2}], x] Out[6]=
2x Sqrt2;小
2xSqrt[1
皿
Sqrt[1 x 4]
In
[7]:= Simplify%]
Out[7]
=
4
=2xSqrt[1 x ]
参数方程求导
对参数方程
x x(t )所确定的函数y=f(x),根据公式包 dy /dt 和命令形式1,可用
y y(t) dx dx/dt
三个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•求参数方程
x t (1
曲)的一阶导数。
y t cost
解:Mathematica 命令
In [8]:= x=t*(1-Si n[ t]);y=t*Cos[t]; s=D[y,t];
r=D[x,t]; Simplify[s/r]
Cos[t] - t Si n[t]
Out[8]= --------------------
1 - t Cos[t] - Si n[t]
或
ln[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] - t Sin[t]
Out[10]= -----------------------
1 - t Cos[t] - Si n[t]
隐函数求导
由方程f(x, y) = 0所确定的函数y=y(x)的导数可用一个自定义函数完成,这个函数为
命令形式1: D[f, x] 命令形式2: D[f, {x, n}]
例6:变上限函数f(x)
x 2
'一 1
t 2dt 求导
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, NonCon
sta nts->{y}]/.r; Simplify® ]
注:这里NonConstants->{y}指出y不是常数,eqn为f(x, y) = 0,但等号要双写。
例8.求e y xy e 0所确定的函数y=y(x)的导数。
解:Mathematica 命令
In [11]:= impD[eqn_, y_, x_]:=Module[{s,r,t}, s=D[eq n,x,No nCon sta nts->{y}]; r=Solve[s,D[y,x, No
nCon sta nts->{y}]];
t=D[y,x, NonCon sta nts->{y}]/.r;Simplify[t]]
In[12]:= impD[Exp[y]+x*y-E==0, y, x]
y
Out[12]= y
E x
微分
微分是函数增量的线性主部,函数y=f(x)的微分与导数的关系为dy = df =f (x)dx,Mathematica 命令为:
命令形式:Dt[f] 功能:对函数f(x)求微分df
例9.求y sinx2和y=sinv的微分.
解:Mathematica 命令
In[13]:= Dt[Si门卜人2]] Out[13]=2 x Cos[x 2] Dt[x]
In [14]:= Dt[Si n[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高阶混合偏导数 f ;
x1 x2 命令形式3: D[f, x, NonConstants->{v1,v2,…}]
功能:求函数f对x的偏导数,其中v1,v2,…是关于x的函数。
例题
2
例10:求z=asin(xy)对y和u e x y z对z的偏导数.
解:Mathematica 命令
In [15]:= D[a*Si n[ x*y], y]
Out[15]=axCos[x y]
In [16]:= D[Exp[x+y+z A2], z]
2
Out[16]= 2E x y z z
2
例11:对函数z x3y2 sin(xy),求———
'x y
解:Mathematica 命令
In[17]:= D[xA3 *yA2+Sin[x*y], x, y]
Out[17]= 6x y Cos x y xySin[x y]
3
例12:对函数z x3y2 sin(xy),求一|
x
解:Mathematica 命令
In [18]:= D[xA3 *yA2+Si n[x y], {x,3}]
Out[18]= 6y y Cos xy
例13. u x2 y2z2,其中y, z是x的函数。
解:Mathematica 命令
In [19]:= D[xA2+yA2+zA2, x, NonCon sta nts->{y, z}]
Out[19]=2 x + 2 y D[y, x, No nCon sta nts -> {y, z}] + 2 z D[z, x, NonCon sta nts -> {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 2
例14:求z x y的全微分dz。
解:Mathematica 命令
In [20]:= Dt[xA2+yA2] Out[20]=2 x Dt[x] + 2 y Dt[y]
如果多元函数的变量都是或部分是某一个变量的函数,则该函数关于此变量的导数称为的全导数,Mathematica有如下两个求全导数的命令:
命令形式1: Dt[f, x] 功能:求函数f的全导数。
命令形式2:Dt[f, x, Constants->{c1,c2, •••}]
功能:求函数f的全导数,其中f中的变元与x无关。
注意:D[f, x]与Dt[f, x]的区别。
例15:求z x2 y2的全导数,其中y是x的函数。
dx
解:Mathematica 命令
In [21]:= Dt[x A2+y A2,x]
Out[21]=2 x + 2 y Dt[y, x]
2 2
例16:求一x ---- Sinxy———,其中y是与x无关的独立变量。
x
解:Mathematica 命令
In [22]:= Dt[xA2+Si n[x y]+zA2, x, Con sta nts->{y}]
Out[22]=2 x + y Cos[x y] + 2 z Dt[z, x, Constants -> {y}]
4.3求不定积分
高等数学中求不定积分是较费时间的事情,在Mathematica中,只要输入一个命令就可以快速求出不定积分来。
命令形式:lntegrate[f, x]
功能:计算不定积分f x dx。
1
例17:计算2——dx
sin xcos x
解:Mathematica 命令
In [23]:= In tegrate[1/(Si n[xF2 Cos [x]人2),刈
Out[23]=-(Cos[2 x] Csc[x] Sec[x])
4.4求定积分
定积分的计算是实际问题中经常遇到的问题,定积分计算同样也是较费时间的事情,而且有时还会遇到因求不出原函数而积不出结果的情况,这些在Mathematica中, 也只要输入一个命令就可以快速求出定积分值来。
命令形式1: In tegrate[f[x],{x,xmi n,xmax}]
xmax
功能:计算定积分f(x)dx,xmin,xmax分别表示积分变量的下限和上限。
xmin
命令形式 2: NIntegrate[f[x],{x,xmin,xmax}]
xmax
功能:计算定积分 f(x)dx 的数值积分,xmin , xmax 必须是数字,不能是字母。
xmin
命令形式 3:1 ntegrate[f[x,y], {x, xmin, xmax}, {y, ymin, ymax}]
xmax ymax
功能:计算重积分 dx f(x, y)dy ,xmin,xmax ,ymin,ymax 表示积分限。
xmin ymin
注意:命令形式2主要用于用命令形式 1求不出结果的定积分问题或高等数学中的没有 原函数的定积分问题。
例题
2
例18.计算定积分 (1 1
解:Mathematica 命令
In[24]:= Integrate[(1+x-1/x)*Exp[x+1/x], {x, 1/2, 2}]
1
例19.计算广义积分 —dx
1 x
解:Mathematica 命令
In [25]:= In tegrate[1/x A 4, {x, 1, +I nfin ity}] 1 Out[25]:=
3
1
x
例20.计算瑕积分 ---------- dx
0J 1 x 2
解:Mathematica 命令
In [26]:= In tegrate[x/Sqrt[1-xA2], {x, 0, 1}] Out[26]=1
解:本题用定积分基本公式是积不出来的,用上面命令 Mathematica 命令
In [27]:= NI ntegrate[Exp[xA2], {x, 0, 1}] Out[27]= 1.46265
1 x 一
x )e x dx
x Out[24]=
3E
5/2
例21.计算定积分
2
X dx 2可以计算出结果:
64
1 2 x 3 2 x 2 Out[31]=-
4
4
16
4
5 2 x
O[ 2 x 5]
例22.计算
xydxdy ,D 由 y=1,x=4,x=2y 所围
D
解:对二重积分要先化为累次积分,定好积分限后,再使用命令形式 3。
本题的Mathematica 命令为
In[28]:= Integrate[x*y, {x, 2, 4}, {y, 1, x/2}]
Out[28]
= 2
例 23.计算 0dx x ;x (x 2
y)dy
0 x
解:Mathematica 命令
In [29]:= In tegrate[x A 2+y, {x, 0, 1}, {y, x A 2, Sqrt[x]}]
4.5函数展开成幕级数
在近似计算和研究函数在一点的性态时, 有时需要将函数在一点展开为幕级数形式。
应的Mathematica 命令有: 命令形式:Series[f, {x, x0, n}]
功能:把函数f 在x=x0点展开成幕级数,最高项为 n 次。
命令形式:Normal[expr]
功能:去掉幕级数表达式 expr 中的截断误差项,获得剩余的多项式。
例题 例24.将函数f(x) xarctanx In ■■ 1 x 2展开为x 的最高次为6的幕级数。
解:Mathematica 命令
In [30]:= Series[x*ArcTa n[ x]-Log[Sqrt[1+xA2]], {x, 0, 6}]
2
4
6
x
x
x
7
Out[30] =
o x
2 12 30
1
例25.将函数f(x) 2展开为关于(x-2)的最高次为4的幕级数。
x
解:Mathematica 命令
In [31]:= Series[1/xA2, {x, 2, 4}]
Out[29]=
33
140
In [32]:= Normal%]
1
Out[32]= 4
数学实验:
用正弦函数sin x的不同Taylor展式观察函数的Taylor逼近特点。
本实验的Mathematica命令和部分输出图形如下,试从其中的Mathematica命令分析进行所给数学实验问题的思想和方法:
For[i=0,i<=25,i+=5,
f[x_]=Normal[Series[Sin[x], {x, 0, i}]];
Plot[{Si n[x],f[x]},{x,-7Pi,7Pi},
PlotRa nge->{{-5Pi,5Pi},{-1.5,1.5}},
PlotStyle->{RGBColor[1,0,0], {Thickness[0.015],RGBColor[0,1,0]}},
PlotLabel->i" 次Taylor展开的图形比较"]
]
16 64。