实验1多元函数微分学基础实验doc.docx
- 文档编号:1823494
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:14
- 大小:282.52KB
实验1多元函数微分学基础实验doc.docx
《实验1多元函数微分学基础实验doc.docx》由会员分享,可在线阅读,更多相关《实验1多元函数微分学基础实验doc.docx(14页珍藏版)》请在冰豆网上搜索。
实验1多元函数微分学基础实验doc
项目三多元函数微积分
实验1多元函数微分学(基础实验)
实验目的掌握利用Mathematica计算多元函数偏导数和全微分的方法,掌握计算二元
函数极值和条件极值的方法.理解和掌握曲面的切平面的作法.通过作图和观察,理解二元
函数的性质、方向导数、梯度和等高线的概念.
基本命令
1.求偏导数的命令D
命令D既可以用于求一元函数的导数,也可以用于求多元函数的偏导数.例如:
求对x的偏导数,则输入D[f[x,y,z],x]
求对y的偏导数,则输入D[f[x,y,z],y]
求对x的二阶偏导数,则输入D[f[x,y,z],{x,2}]
求对的混合偏导数,则输入D[f[x,y,z],x,y]
…………
2.求全微分的命令Dt
该命令只用于求二元函数的全微分时,其基本格式为
Dt[f[x,y]]
其输出的表达式中含有Dt[x],Dt[y],它们分别表示自变量的微分dx,dy.若函数的表
达式中还含有其它用字符表示的常数,例如a,则Dt[f[x,y]]的输出中还会有Dt[a],若采用选
项Constants->{a},就可以得到正确结果,即只要输入
Dt[f[x,y],Constants->{a}]
3.在平面上作二元函数的等高线的命令ContourPlot
命令的基本格式为
ContourPlot[f[x,y],{x,x1,x2},{y,y1,y2}]
例如,输入
ContourPlot[x^2-y^2,{x,-2,2},{y,-2,2}]
则输出函数的等高线图(图1.1).该命令的选项比较多(详细的内容参见光盘中的实验案例库).如选项Contours->15表示作15条等高线,选项Contours->{0}表示只作函数值为0的等高线.
图1.1
实验举例
求多元函数的偏导数与全微分
例1.1(教材例1.1)设求
输入
Clear[z];
z=Sin[x*y]+Cos[x*y]^2;
D[z,x]
D[z,y]
D[z,{x,2}]
D[z,x,y]
则输出所求结果.
例1.2设求和全微分dz.
输入
Clear[z];z=(1+x*y)^y;
D[z,x]
D[z,y]
则有输出
再输入
Dt[z]
则得到输出
例1.3(教材例1.2)设其中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)设,求
输入
eq1=D[x==E^u+u*Sin[v],x,NonConstants->{u,v}]
(*第一个方程两边对x求导数,把u,v看成x,y的函数*)
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组成的方程组*)
则输出
其中D[u,x,NonConstants->{u,v}]表示u对x的偏导数,而D[v,x,NonCosnstants->{u,v}]表示v
对x的偏导数.类似地可求得u,v对y的偏导数.
微分学的几何应用
例1.5求出曲面在点(1,1)处的切平面、法线方程,并画出图形.
解
(1)画出曲面的图形.曲面的参数方程为
输入命令
Clear[f];
f[x_,y_]=2x^2+y^2;p1=Plot3D[f[x,y],
{x,-2,2},{y,-2,2}];
g1=ParametricPlot3D[{r*Sin[u]/Sqrt[2.],r*Cos[u],r^2},
{u,0,2*Pi},{r,0,2}]
则输出相应图形(图1.2).
图1.2
(2)画出切平面的图形.输入命令
a=D[f[x,y],x]/.{x->1,y->1};
b=D[f[x,y],y]/.{x->1,y->1};
p[x_,y_]=f[1,1]+a(x-1)+b(y-1);
g2=Plot3D[p[x,y],{x,-2,2},{y,-2,2}];
则输出切平面方程为及相应图形(图1.3).
图1.3
(3)画出法线的图形.输入命令
ly[x_]=1+b(x-1)/a;lz[x_]=f[1,1]-(x-1)/a;
g3=ParametricPlot3D[{x,ly[x],lz[x]},{x,-2,2}];
Show[p1,g2,g3,AspectRatio->Automatic,
ViewPoint->{-2.530,-1.025,2.000}];
则输出相应图形(图1.4).
图1.4
例1.6(教材例1.4)求曲面在点处的切平面方程,并把曲面和它的切平面作在同一图形里.
输入
Clear[k,z];
k[x_,y_]=4/(x^2+y^2+1);
(*定义函数k(x,y)*)
kx=D[k[x,y],x]/.{x->1/4,y->1/2};
(*求函数k(x,y)对x的偏导数,并代入在指定点的值*)
ky=D[k[x,y],y]/.{x->1/4,y->1/2};
(*求函数k(x,y)对y的偏导数,并代入在指定的值*)
z=kx*(x-1/4)+ky*(y-1/2)+k[1/4,1/2];
(*定义在指定点的切平面函数*)
再输入
qm=Plot3D[k[x,y],{x,-2,2},{y,-2,2},PlotRange->{0,4},
BoxRatios->{1,1,1},PlotPoints->30,
DisplayFunction->Identity];
qpm=Plot3D[z,{x,-2,2},{y,-2,2},
DisplayFunction->Identity];
Show[qm,qpm,DisplayFunction->$DisplayFunction]
则输出所求曲面与切平面的图形(图1.5).
图1.5
多元函数的极值
例1.7(教材例1.5)求的极值.
输入
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}]
则分别输出所求偏导数和驻点:
{{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
输出为判别式函数的形式:
(6+6x)(6-6y)
再输入
data={x,y,fxx,disc,f[x,y]}/.critpts;
TableForm[data,TableHeadings->{None,{"x","y","fxx","disc","f"}}]
最后我们得到了四个驻点处的判别式与的值并以表格形式列出.
Xyfxxdiscf
-30-12-7227
-32-127231
101272-5
1212-72-1
易见,当时判别式disc=72,函数有极大值31;
当时判别式disc=72,函数有极小值-5;
当和时,判别式disc=-72,函数在这些点没有极值.
最后,把函数的等高线和四个极值点用图形表示出来,输入
d2={x,y}/.critpts;
g4=ListPlot[d2,PlotStyle->PointSize[0.02],DisplayFunction->Identity];
g5=ContourPlot[f[x,y],{x,-5,3},{y,-3,5},Contours->40,PlotPoints->60,
ContourShading->False,Frame->False,Axes->Automatic,
AxesOrigin->{0,0},DisplayFunction->Identity];
Show[g4,g5,DisplayFunction->$DisplayFunction]
则输出图1.6.
图1.6
从上图可见,在两个极值点附近,函数的等高线为封闭的.在非极值点附近,等高线不
封闭.这也是从图形上判断极值点的方法.
注:
在项目一的实验4中,我们曾用命令FindMinimum来求一元函数的极值,实际上,也可
以用它求多元函数的极值,不过输入的初值要在极值点的附近.对本例,可以输入以下命令
FindMinimum[f[x,y],{x,-1},{y,1}]
则输出
{-5.,{x->1.,y->-2.36603×10-8}}
从中看到在的附近函数有极小值-5,但y的精度不够好.
例1.8求函数在条件下的极值.
输入
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}]
得到输出
再输入
f[x,y]/.extpts//Simplify
得到两个可能是条件极值的函数值但是否真的取到条件极值呢?
可利用等高线作图来判断.
输入
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->False,Frame->False,Axes->
Automatic,
AxesOrigin->{0,0},DisplayFunction->Identity];
cp2=ContourPlot[g[x,y],{x,-2,2},{y,-2,2},
PlotPoints->60,Contours->{0},ContourShading->
False,Frame->False,Axes->Automatic,ContourStyle
->Dashing[{0.01
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 多元 函数 微分学 基础 doc