mathematica教程11(10)

2019-09-01 09:48

定积分的求解主要命令是Integrate[f,{x,min,max}], 或者使用工具栏输入也可以。例如求?x2eaxdx

?44In[6]:=Integrate[x^2Exp[ax],{x,-4,4}] Out[6]=

128e3ax

显然这条命令也可以求广义积分,例如求?In[7]:=Integrate[1/(x-2)^2,{x,0,4}] Out[7]=∞

求无穷积也可以,例如???401(x-2)2dx:

1x41dx:

In[8]:=Integrate[1/x^4,{x,1,Infinity}] Out[8]=

13

如果广义积分发散也能给出结果,例如: 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]=?201x does not converge on {0,2}.

1xdx ??如果广义积分敛散性与某个符号的取值有关,它也能给出在不同情况下的积分结果。例如?In[11]:=Integrate[1/x^p,{x,1,Infinity}] Out[11]=If[Re[p]>1,1-1+p1xp1dx:

,Integrate[x–,{x,1,∞},Assumptions→Re[p]≤1]]

p结果的意义是当p >1时,积分值为1-1+p,否则不收敛。在Integrate中可加两个参数Assumptions 和

GenerateConditions例如上例中,只要用Assumptions->{Re[p]>1}就可以得到收敛情况的解:

In[12]:=Integrate[1/x^p,{x,1,Infinity},Assumptions->{Re[p]>1}] Out[12]=

1-1+p

3. 数值积分

数值积分是解决求定积分的另一种有效的方法,它可以给出一个近似解。特别是对于用Integrate命令无法求

46

出的定积分,数值积分更是可以发挥巨大作用。

它的命令格式为:

Nintegrate[f,{x,a,b}] 在[a,b]上求f数值积分

Nintegrate[f,{x,a,x1,x2,…,b}] 以x1,x2….为分割求[a,b]上的数值积分 Nintegrate[f,{x,a,b},MaxRecursion->n] 求数值积分时指定迭代次数n

下面我们求Sinsinx在[0,π]上的积分值,由于这个函数的不定积分求不出,因此使用Integrate命令无法得到具体结果,但可以用数值积分求:

In[13]:=Nintegrate[Sin[Sin[x]],{x,0,Pi}] Out[13]=1.78649

如果积分函数存在不连续点,或存在奇点我们可对积分进行分段求解。例如函数1|x|在[-1,1]上,显然x=0点是一个无穷间断点。因此若要求其数值积分,必须在其中插入点0。

In[14]:=NIntegrate[1/Sqrt[Abs[x]],{x,-1,1}] Nintegrate::inum:Integrand

1Abs[x] is not numerical at {x} = {0.}.

Out[14]=Nintegrate[

1Abs[x],{x,-1,1}] In[15]:=NIntegrate[1/Sqrt[Abs[x]],{x,-1,0,1}] Out[15]=4. 对无穷积分,也可求数值积分,例如: In[16]:=Nintegrate[Exp[-x^2],{x,0,Infinity}] Out[16]=0.886227 5.4 多变量函数的微分 下面是计算多变量函数的偏导数及全微分的命令与单变量基本相同,通过分析下面的例子我们可以我们可以轻松掌握。 ( 1 ) D[f,x1, x2 ,…, x n ]计算偏导数下面是实际的例子:

求函数sin(xy 2)对x的偏导数: In[1]:=D[Sin[x*y^2],x] Out[1]=y 2 Cos[xy 2 ]

?f?x1?x2??xnn 47

求函数sin(xy 2)对x的二阶偏导数: In[2]:=D[Sin[x*y^2],x,x] Out[2]= -y Sin[xy ] 上述命令也可写成如下形式: In[3]:=D[Sin[x*y^2],{x,2}] Out[3]= -y 4 Sin[xy 2 ]

求函数sin(xy)对x的二阶对y的一阶混合偏导数: In[4]:=D[Sin[x*y^2],x,x,y]

Out[4]= -2xy Cos[xy ] - 4y Sin[xy ] 上述命令也可写成如下形式: In[5]:=D[Sin[x*y^2],{x,2},y]

Out[5]= -2xy 5 Cos[xy 2] - 4y 3Sin[xy 2] ( 2) D[f,x,NonConstants->{c1 ,c 2 ,…}],下面是实际的例子:

In[6]:=D[x^2+y^2,x,NonConstants->{y}] Out[6]=2x+2yD[y,x,NonConstants→{y}] 注意:D[y,x,NonConstants→{y}]表示 ( 3 ) Dt[f] 计算全微分df 下面是实际的例子: 计算d(x 2 y 3) In[7]:=Dt[x^2*y^3]

Out[7]=2xy 3 Dt[x]+3x 2 y 2 Dt[y] 其中Dt[x]为dx,Dt[y]为dy 定义z为一个二元函数,求z的全微分,并提出Dt[x]和Dt[y]: In[8]:=z=x^3*y+x^2*y^2-3x*y^2;Collect[Dt[z],{Dt[x],Dt[y]}] Out[8]=(3x 2 y -3y 2 +2xy 2 )Dt[x]+(x 3 – 6xy+2x 2 y)Dt[y] 将上式表示成的标准形式: In[9]:=%/.{Dt[x]->dx,Dt[y]->dy} Out[9]= dy(x 3 – 6xy+2x 2 y)+ dx(3x 2 y -3y 2 +2xy 2 ) 求z对x的导数: In[10]:=Dt[z,x]

Out[10]=3x 2 y -3y 2 +2xy 2 +x 3 Dt[y,x] -6xyDt[y,x]+2x 2 yDt[y,x]

因为Mathematica不知道y是否为x的函数,所以保留Dt[y,x]。用置换运算将Dt[y,x]置换成0即可求得z对x

48

5

2

3

2

24

2

?f?x中ci依赖于x

?y?x,其中y是x的函数。

的导数:

In[11]:=Dt[z,x]/.Dt[y,x]->0 Out[11]=3x y -3y +2xy ( 4) 求隐函数的导数 下面是实际的例子:

求隐函数5y 2 + siny= x 2的导数: In[12]:=Dt[5*y^2+Sin[y]==x^2,x] Out[12]=10yDt[y,x]+Cos[y]Dt[y,x]==2x In[13]:=Solve[%,Dt[y,x]] Out[13]={{Dt[y,x]→

2x10y+Cos[y]2

2

2

}}

( 5 ) Dt[f,x,Constants->{c1 ,c 2 ,…}]计算全微分df , 其中ci是常数 下面是实际的例子:

In[14]:= Dt[x^2+y^2+z^2,x,Constants->{z}] Out[14]=2x+2yDt[y,x,Constants→{z}]

( 6 ) Dt[f, x1, x2 ,…, x n ]计算f对xi的多重全微分 下面是实际的例子:

In[15]:= z=x^3*y+x^2*y^2-3x*y^2; In[16]:=Dt[z,x,y]

Out[16]=3x– 6y + 4xy + 6xyDt[x,y] + 2y Dt[x,y] – 6xDt[y,x] + 2x

2

2

2 2

Dt[y,x]

+ 3x Dt[x,y]Dt[y,x] – 6yDt[x,y]Dt[y,x] + 4xyDt[x,y]Dt[y,x]

5.5 多变量函数的积分 (重积分)

多变量函数的积分类似于一元函数的积分,可以利用Integrate函数来完成。命令如下: Integrate[f,{x,a,b},{y,c,d},…{z,m,n}] 计算重积分?bad?c??f(x,y,?,z)dz?dydx

mnNintegrate[f,{x,a,b},{y,c,d},…{z,m,n}] 数值积分或重积分的数值解 下面是具体的例子: 计算重积分??1x?y?1122dxdy

In[1]:=

??x+y+1dxdy

49

Out[1]=21+yArcTan[x1+y]+xLog[1+x+y]

2我们也可以直接输入Integrate命令进行积分,但要注意x与y的顺序: In[2]:=Integrate[1/(x^2+y+1),y,x] Out[2]= 21+yArcTan[abx1+y2]+xLog[1+x+y]

2计算二重积分?0?0(x?y)dxdy:

2In[3]:= Integrate[x^2+y^2,{x,0,a},{y,0,b}] Out[3]=ab(a2+b2)

31y的积分限也可以是x的函数:

In[4]:= Integrate[x^2+y^2,{x,0,a},{y,0,x^2}] Out[4]=

a55+a721

以下是数值积分的例子:

在重积分中,无法求出某个变量的积分值,会求出可积的部分,再输出运算结果。 In[5]:= Integrate[Sqrt[x+y],{x,0,2},{y,0,Sqrt[x+2]}] Out[5]=1960(7692–4622 1/ 4–10242-4602 3/ 4–2430Log[3]+1215Log[1+22 1/ 4 +22])

将上式转换成数值解: In[6]:=N[%] Out[6]=4.65557 直接利用NIntegrate命令求解,也可以得到相同的答案: In[7]:= NIntegrate[Sqrt[x+y],{x,0,2},{y,0,Sqrt[x+2]}] Out[7]=4.65557 以下是一个三重积分?2?2??x24y?x?2y?x2x?zdzdydx:

22In[8]:=Off[Nintegrate::slwcon];Nintegrate[Sqrt[x^2+z^2],{x,-2,2},{y,x^2,4},{z,-Sqrt[y-x^2],Sqrt[y-x^2]}] Out[8]=26.8083 注意:命令Off[Nintegrate::slwcon]的作用是不显示提示信息。

50


mathematica教程11(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国法律文化导论练习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: