75
项目三多元函数微积分
实验1多元函数微积分(基础实验)
实验目的掌握利用Mathematica计算多元函数偏导数和全微分的方法,掌握计算二元
函数极值和条件极值的方法.通过作图和观察,理解二元函数的性质.掌握利用Mathematica
计算二重积分方法;提高应用重积分解决实际问题的能力.
基本命令
1.求偏导数的命令D
命令D既可以用于求一元函数的导数,也可以用于求多元函数的偏导数.例如:
求),,(zyxf对x的偏导数,则输入D[f[x,y,z],x]
求),,(zyxf对y的偏导数,则输入D[f[x,y,z],y]
求),,(zyxf对x的二阶偏导数,则输入D[f[x,y,z],{x,2}]
求),,(zyxf对yx,的混合偏导数,则输入D[f[x,y,z],x,y]
…………
2.求全微分的命令Dt
该命令只用于求二元函数),(yxf的全微分时,其基本格式为
Dt[f[x,y]]
其输出的表达式中含有Dt[x],Dt[y],它们分别表示自变量的微分dx,dy.若函数),(yxf的表
达式中还含有其它用字符表示的常数,例如a,则Dt[f[x,y]]的输出中还会有Dt[a],若采用选
项Constants->{a},就可以得到正确结果,即只要输入
Dt[f[x,y],Constants->{a}]
3.计算重积分的命令lntegrate和NIntegrate
例如,计算dydxxy
x1
00
2,输入
Integrate[x*y^2,{x,0,1},{y,0,x}]
则输出
15
1
又如,计算dydxxy)sin(
1
0
1
0
2的近似值,输入
NIntegrate[Sin[x*y^2],{x,0,1},{y,0,1}]
则输出0.160839
注:Integrate命令先对后边的变量积分.
利用Mathematica计算重积分,关键是确定各个积分变量的积分限.
实验举例
求多元函数的偏导数与全微分
例1.1(教材例1.1)设),(cos)sin(2xyxyz求
.,,,
2
2
2
yx
z
x
z
y
z
x
z
输入
76
Clear[z];
z=Sin[x*y]+Cos[x*y]^2;
D[z,x]
D[z,y]
D[z,{x,2}]
D[z,x,y]
则输出所求结果:
yCosxy2yCosxySinxy
xCosxy2xCosxySinxy
2y
2
Cosxy
2
y
2
Sinxy2y
2
Sinxy
2
Cosxy2xyCosxy
2
xySinxy
2CosxySinxy2xySinxy
2
例1.2设
,)1(yxyz
求
y
z
x
z
,和全微分dz.
输入
Clear[z];z=(1+x*y)^y;
D[z,x]
D[z,y]
则有输出
]1[
1
)1(
)1(12
xyLog
xy
xy
xy
xyy
y
y
再输入
Dt[z]
则得到输出
]1[][
1
])[][(
)1(xyLogyDt
xy
yxDtxyDty
xyy
例1.3(教材例1.2)设,)(yxyaz其中a是常数,求dz.
输入
Clear[z,a];z=(a+x*y)^y;
wf=Dt[z,Constants->{a}]//Simplify
则输出结果:
(a+xy)-1+y(y2Dt[x,Constants->{a}]+
Dt[y,Constants->{a}](xy+(a+xy)Log[a+xy]))
其中Dt[x,Constants->{a}]就是dx,Dt[y,Constants->{a}]就是dy.可以用代换命令“/.”把它们
换掉.输入
wf/.{Dt[x,Constants->{a}]->dx,Dt[y,Constants->{a}]->dy}
输出为
(a+xy)-1+y(dxy2+dy(xy+(a+xy)Log[a+xy]))
例1.4(教材例1.3)设vueyvuexuucos,sin,求
.,,,
y
v
x
v
y
u
x
u
输入
eq1=D[x==E^u+u*Sin[v],x,NonConstants->{u,v}]
(*第一个方程两边对x求导数,把u,v看成x,y的函数*)
77
eq2=D[y==E^u-u*Cos[v],x,NonConstants->{u,v}]
(*第二个方程两边对x求导数,把u,v看成x,y的函数*)
Solve[{eq1,eq2},{D[u,x,NonConstants->{u,v}],
D[v,x,NonConstants->{u,v}]}]//Simplify
(*解求导以后由eq1,eq2组成的方程组*)
则输出
}}
]v[SinE]v[CosE1(u
]v[CosE
}]v,u{tstanNonCons,x,v[D
,
]v[SinE]v[CosE1
]v[Sin
}]v,u{tstanNonCons,x,u[D{{
uu
u
uu
其中D[u,x,NonConstants->{u,v}]表示u对x的偏导数,而D[v,x,NonCosnstants->{u,v}]表示v
对x的偏导数.类似地可求得u,v对y的偏导数.
多元函数的极值
例1.5(教材例1.4)求xyxyxyxf933),(2233的极值.
输入
Clear[f];
f[x_,y_]=x^3-y^3+3x^2+3y^2-9x;
fx=D[f[x,y],x]
fy=D[f[x,y],y]
critpts=Solve[{fx==0,fy==0}]
则分别输出所求偏导数和驻点:
2
2
36
369
yy
xx
{{x->-3,y->0},{x->-3,y->2},{x->1,y->0},{x->1,y->2}}
再输入求二阶偏导数和定义判别式的命令
fxx=D[f[x,y],{x,2}];
fyy=D[f[x,y],{y,2}];
fxy=D[f[x,y],x,y];
disc=fxx*fyy-fxy^2
输出为判别式函数2
xyyyxx
fff
的形式:
(6+6x)(6-6y)
再输入
data={x,y,fxx,disc,f[x,y]}/.critpts;
TableForm[data,TableHeadings->{None,{"x","y","fxx","disc","f"}}]
最后我们得到了四个驻点处的判别式与
xx
f的值并以表格形式列出.
Xyfxxdiscf
-30-12-7227
-32-127231
101272-5
1212-72-1
易见,当2,3yx时
,12
xx
f
判别式disc=72,函数有极大值31;
当0,1yx时
,12
xx
f
判别式disc=72,函数有极小值-5;
当0,3yx和2,1yx时,判别式disc=-72,函数在这些点没有极值.
注:在项目一的实验4中,我们曾用命令FindMinimum来求一元函数的极值,实际上,也可
以用它求多元函数的极值,不过输入的初值要在极值点的附近.对本例,可以输入以下命令
78
FindMinimum[f[x,y],{x,-1},{y,1}]
则输出
{-5.,{x->1.,y->-2.36603×10-8}}
从中看到在0,1yx的附近函数),(yxf有极小值-5,但y的精度不够好.
*例1.6求函数22yxz在条件0122yxyx下的极值.
输入
Clear[f,g,la];
f[x_,y_]=x^2+y^2;
g[x_,y_]=x^2+y^2+x+y-1;
la[x_,y_,r_]=f[x,y]+r*g[x,y];
extpts=Solve[{D[la[x,y,r],x]==0,
D[la[x,y,r],y]==0,D[la[x,y,r],r]==0}]
得到输出
)31(
2
1
),31(
2
1
),33(
3
1
,)31(
2
1
),31(
2
1
),33(
3
1
yxr
yxr
再输入
f[x,y]/.extpts//Simplify
得到两个可能是条件极值的函数值}.32,32{但是否真的取到条件极值呢?
可利用等高线作图来判断.
输入
dian={x,y}/.Table[extpts[[s,j]],{s,1,2},{j,2,3}]
g1=ListPlot[dian,PlotStyle->PointSize[0.03],
DisplayFunction->Identity]
cp1=ContourPlot[f[x,y],{x,-2,2},{y,-2,2},
Contours->20,PlotPoints->60,
ContourShading->Fal,Frame->Fal,Axes->
Automatic,
AxesOrigin->{0,0},DisplayFunction->Identity];
cp2=ContourPlot[g[x,y],{x,-2,2},{y,-2,2},
PlotPoints->60,Contours->{0},ContourShading->
Fal,Frame->Fal,Axes->Automatic,ContourStyle
->Dashing[{0.01}],
AxesOrigin->{0,0},DisplayFunction->Identity];
Show[g1,cp1,cp2,AspectRatio->1,DisplayFunction->
$DisplayFunction]
输出为
)31(
2
1
,
2
3
2
1
,)31(
2
1
,
2
3
2
1
及图1.1.从图可见,在极值可疑点
79
,
2
3
2
1
,
2
3
2
1
2
3
2
1
,
2
3
2
1
处,函数),(yxfz的等高线与曲线0),(yxg(虚线)相切.函数),(yxfz的等高
线是一系列同心圆,由里向外,函数值在增大,在
)31(
2
1
),31(
2
1
yx
的
附近观察,可以得出),(yxfz取条件极大的结论.在
),31(
2
1
x
)31(
2
1
y
的附近观察,可以得出),(yxfz取条件极小的结论.
-2-112
-2
-1
1
2
图1.1
计算重积分
例1.7(教材例1.5)计算,2dxdyxy
D
其中
D
为由,,2yxyx2y所围成的有
界区域.先作
出区域
D
的草图,易直接确定积分限,且应先对x积分,因此,输入
Integrate[x*y^2,{y,1,2},{x,2-y,Sqrt[y]}]
则输出所求二重积分的计算结果
.
120
193
例1.8(教材例1.6)计算,)(22dxdye
D
yx其中D为
.122yx
如果用直角坐标计算,输入
Clear[f,r];
f[x,y]=Exp[-(x^2+y^2)];
Integrate[f[x,y],{x,-1,1},{y,-Sqrt[1-x^2],Sqrt[1-x^2]}]
80
则输出为
dxx1Erfe2
1
1
x2
其中Erf是误差函数.显然积分遇到了困难.
如果改用极坐标来计算,可用手工确定积分限,输入
Integrate[(f[x,y]/.{x->r*Cos[t],y->r*Sin[t]})*r,{t,0,2Pi},{r,0,1}]
则输出所求二重积分的计算结果
e
如果输入
NIntegrate[(f[x,y]/.{x->r*Cos[t],y->r*Sin[t]})*r,{t,0,2Pi},{r,0,1}]
则输出积分的近似值
1.98587
实验习题
1.设
,x
y
ez
求.dz
2.设),,(yxyfz求.,,
2
2
2
2
2
yx
z
y
z
x
z
3.设),sin(cos),(228/)(22yxeyxgyx求
.,,
2
yx
z
y
z
x
z
4.求265433051830120),(xyxxxxyxf
的极值.
5.求324yxz在
01422yx
条件下的极值.
6.计算
6/
0
2/
0
.sinsin
ydydxxxy
7.计算下列积分的近似值:
(1);cos
00
22dydxyx
(2).sin
1
0
1
0
dydxexy
(3)1
0
1
0
.)arctan(dydxxy
8.交换积分次序并计算下列积分
(1)dydxyx
x3
0
9
2
2
cos
.(2)
.
2
0
4
2
2dxdye
y
x
9.用极坐标计算下列积分:
(1);
1
0
1
22
dydx
yx
y
x
(2).
1
0
3/
3/
22
dxdy
yx
yy
y
本文发布于:2022-12-27 13:02:46,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/40465.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |