300 likes | 594 Vues
第四章 微积分运算命令与例题. 北京交通大学. 4.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 的函数。
E N D
第四章 微积分运算命令与例题 北京交通大学
4.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的默认状态为求右极限。
例1.求极限解:Mathematica 命令为 In[1]:=Limit[n^2*Sin[1/n^2],n->Infinity] Out[1]=1 例2:求极限解: Mathematica 命令为 In[2]:=Limit[(1+1/n)^n, n->Infinity] Out[2]=E
例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] 例4.求解:Sin[x]/x x->∞的极限 Mathematica 命令为 • In[3]:=Limit[Sin[x]/x, x->Infinity]Out[3]=2 • Out[3]=0 例5 • In[4]:= Limit[Exp[1/x], x->0, Direction->+1] • Out[4]=0 例6 • In[5]:= Limit[1/(x*Log[x]^2)-1/(x-1)^2, x->1] • Out[5]=1/12
例7.求极限解:Mathematica 命令为 In[1]:=Limit[Sin[x]^Tan[x], x->Pi/2] Out[1]=1 例8:求极限解 Mathematica 命令为 In[2]:=Limit[Cos[1/x],x->0] Out[2]=Interval[{-1, 1}] 例9:求极限解 Mathematica 命令为 In[3]:=Limit[Exp[1/x], x->0, Direction->-1] Out[3]=∞
例10 求极限解: 若输入命令 In[4]:=Limit[ Integrate[ArcTan[t]^2, {t,0,x}] / Sqrt[1+x^2] , x->+Infinity] 屏幕会出现如下的红色英文提示信息: On::none: Message SeriesData::csa not found. …………………………………………………… ComplexInfinity + <<1>> encountered. • 说明不能得出正确结果。此时可以借助人工处理,如用一次洛必达法则后再求极限: In[5]:=Limit[ArcTan[x]^2/(x/Sqrt[1+x^2]), x->Infinity] Out[5]=
● 显函数求导 命令形式1: D[f, x] 功能:求函数f对x的偏导数。 命令形式2: D[f, {x, n}] 功能:求函数f对x的n阶偏导数。 • 4.2 求导数与微分 4.2.1 求一元函数的导数与微分 • 例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]] 来实现。
例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] - t Sin[t] Out[8]= ----------------------- 1 - t Cos[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] - t Sin[t] Out[10]= ----------------------- 1 - t Cos[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] ]
例8. In[11]:=D[Tan[x+a],x] Out[11]= Sec[a + x] 2 In[12]:=D[2^(x/Log[x]),x] Out[12]= In[13]:=D[x*Tan[x]-Sqrt[x],x] Out[13]= In[14]:=D[Sin[x]^n*Cos[n*x],x] Out[14]= In[15]:=Plot[Evaluate[D[Sin[x^2],x]],{x,-2,2}] Out[15]=
练习. 1 要对一个方程求导,应该怎么做? 例如方程y5+2y-x-3x7=0 2 选择一道与求导有关的应用题,用mathematica数学软件命令来计算。
微分 微分是函数增量的线性主部,函数y=f(x)的微分与导数的关系为: dy = df =f (x)dx Mathematica命令为: 命令形式:Dt[f] 功能:对函数f(x)求微分df 例9.求和y=sinv的微分. 解: In[13]:=Dt[Sin[x^2]] Out[13]=2 x Cos[x2 ] Dt[x] In[14]:=Dt[Sin[v]] Out[14]=Cos[v] Dt[v]
例. • In[1]:=Dt[Sin[u]^6] Out[1]=6 Cos[u]Dt[u]Sin[u]5 • In[2]:=Dt[x*Sin[2^x]] Out[2]=
练习. 1 一幢楼的后面是一个很大的花园,在花园中紧靠着楼房有一个温室,温室深入花园宽2m,高3m,温室正上方是楼房的窗台。清洁工打扫窗台周围,他得用梯子越过温室,一头放在花园中,一头靠在楼房的墙上。因为温室是不能承受梯子压力的,所以梯子太短不行,现有一架7m长的梯子。问:它能达到要求吗?通过mathematica计算至少需要多长? 2 在你所学的微积分教材中,选择两道有关泰勒公式计算的习题,用mathematica数学软件命令来计算。
4.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的函数。
例10:求z=asin(xy)对y和 对z的偏导数. 解:Mathematica命令 In[15]:=D[a*Sin[x*y], y] Out[15]=axCos[x y] In[16]:=D[Exp[x+y+z^2], z] Out[16]= 例11:对函数 ,求 解:Mathematica命令 In[17]:=D[x^3 *y^2+Sin[x*y], x, y] Out[17]=
例12:对函数 , 求 解:Mathematica命令 In[18]:=D[x^3 *y^2+Sin[x y], {x,3}]; Out[18]= 例13.,其中y,z是x的函数。 解:Mathematica命令 In[19]:=D[x^2+y^2+z^2, x, NonConstants->{y, z}] Out[19]=2 x + 2 y D[y, x, NonConstants -> {y, z}] + 2 z D[z, x, NonConstants -> {y, z}]
全微分 多元函数f(x,y,z,…)的全微分命令同一元函数的微分,其命令为: 命令形式: Dt[f] 功能:求函数f的全微分。 例14:求 的全微分dz。 解:Mathematica命令 In[20]:=Dt[x^2+y^2] 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无关。
例15:求 的全导数,其中y是x的函数。 解:Mathematica命令 In[21]:=Dt[x^2+y^2,x] Out[21]=2 x + 2 y Dt[y, x] 例16:求 ,其中y是与x无关的独立变量。 解:Mathematica命令 In[22]:=Dt[x^2+Sin[x y]+z^2, x, Constants->{y}] Out[22]=2 x + y Cos[x y] + 2 z Dt[z, x, Constants -> {y}]
4.3求不定积分 命令形式:Integrate[f, x] 功能:计算不定积分。 例17:计算 解:Mathematica命令 In[23]:=Integrate[1/(Sin[x]^2 Cos[x]^2),x] Out[23]=-(Cos[2 x] Csc[x] Sec[x])
4.4求定积分 • 命令形式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表示积分限。
例18.计算定积分 解:Mathematica命令 In[24]:=Integrate[(1+x-1/x)*Exp[x+1/x], {x, 1/2, 2}] Out[24]= 例19.计算广义积分 解:Mathematica命令 In[25]:=Integrate[1/x^4, {x, 1, +Infinity}] Out[25]:= 例20.计算瑕积分解:Mathematica命令 In[26]:=Integrate[x/Sqrt[1-x^2], {x, 0, 1}] Out[26]=1
例21:计算定积分 解:本题用定积分基本公式是积不出来的,用上面命令2可以计算出结果: In[27]:=NIntegrate[Exp[x^2], {x, 0, 1}] Out[27]= 1.46265 例22:计算 ,D由y=1,x=4,x=2y所围 解: 对二重积分要先化为累次积分,定好积分限后,再使用命令形式3。 本题的Mathematica命令为 In[28]:=Integrate[x*y, {x, 2, 4}, {y, 1, x/2}] Out[28]= 例23.计算 解:Mathematica命令 In[29]:=Integrate[x^2+y, {x, 0, 1}, {y, x^2, Sqrt[x]}] Out[29]=
4.5函数展开成幂级数 命令形式:Series[f, {x, x0, n}] • 功能:把函数f在x=x0点展开成幂级数,最高项为n次。 命令形式:Normal[expr] • 功能:去掉幂级数表达式expr中的截断误差项,获得剩余的多项式。 例24.将函数 展开为x的最高次为6的幂级数。 • 解:Mathematica命令 • In[30]:=Series[x*ArcTan[x]-Log[Sqrt[1+x^2]], {x, 0, 6}] • Out[30]=
例25.将函数 展开为关于(x-2)的最高次为4的幂级数。 解:Mathematica命令 In[31]:=Series[1/x^2, {x, 2, 4}] Out[31]= In[32]:= Normal[%] Out[32]= 数学实验: 用正弦函数sin x的不同Taylor展式观察函数的Taylor逼近特点。
练习. 1 在某化学反应里,由实验得到生成物的浓度y与时间t有如下表所示的关系,求浓度与时间的关系的经验公式。 2 在你学习过的数学教材中,分别选择一道有关偏导数和全微分的习题,用mathematica数学软件命令来计算。
第四章结束 谢谢