1、Dtfx,y,Constants-a3.在平面上作二元函数的等高线的命令ContourPlot命令的基本格式为ContourPlotfx,y,x,x1,x2,y,y1,y2例如,输入ContourPlotx2-y2,x,-2,2,y,-2,2则输出函数的等高线图(图1.1). 该命令的选项比较多(详细的内容参见光盘中的实验案例库). 如选项Contours-15表示作15条等高线, 选项Contours-0表示只作函数值为0的等高线.图1.1实验举例求多元函数的偏导数与全微分例1.1 (教材 例1.1) 设输入Clearz;z=Sinx*y+Cosx*y2;Dz,xDz,yDz,x,2Dz,x
2、,y则输出所求结果.例1.2 设和全微分dz.z=(1+x*y)y;则有输出再输入Dtz则得到输出例1.3 (教材 例1.2) 设其中a是常数, 求dz.Clearz,a;z=(a+x*y)y;wf=Dtz,Constants-a/Simplify则输出结果:(a+xy)-1+y(y2Dtx,Constants-a+ Dty,Constants-a(xy+(a+xy)Loga+xy)其中Dtx,Constants-a就是dx, Dty,Constants-a就是dy. 可以用代换命令“/.”把它们换掉. 输入wf/.Dtx,Constants-a-dx,Dty,Constants-dy输出为(
3、a+xy)-1+y(dxy2+dy(xy+(a+xy)Loga+xy)例1.4 (教材 例1.3) 设,求 eq1=Dx=Eu+u*Sinv,x,NonConstants-u,v(*第一个方程两边对x求导数, 把u,v看成x,y的函数*)eq2=Dy=Eu-u*Cosv,x,NonConstants-(*第二个方程两边对x求导数, 把u,v看成x,y的函数*)Solveeq1,eq2,Du,x,NonConstants-u,v,Dv,x,NonConstants-u,v/Simplify(*解求导以后由eq1,eq2组成的方程组*)则输出 其中Du,x,NonConstants-u,v表示u对
4、x的偏导数, 而Dv,x,NonCosnstants-u,v表示v对x的偏导数. 类似地可求得u,v对y的偏导数.微分学的几何应用例1.5 求出曲面在点(1,1)处的切平面、法线方程, 并画出图形.解(1) 画出曲面的图形. 曲面的参数方程为输入命令Clearf;fx_,y_=2x2+y2;p1=Plot3Dfx,y,x,-2,2,y,-2,2;g1=ParametricPlot3Dr*Sinu/Sqrt2.,r*Cosu,r2,u,0,2*Pi,r,0,2则输出相应图形(图1.2).图1.2 (2) 画出切平面的图形. 输入命令a=Dfx,y,x/.x-1,y-1;b=Dfx,y,y/.x-
5、px_,y_=f1,1+a(x-1)+b(y-1);g2=Plot3Dpx,y,x,-2,2,y,-2,2;则输出切平面方程为及相应图形(图1.3).图1.3(3) 画出法线的图形. 输入命令lyx_=1+b(x-1)/a;lzx_=f1,1-(x-1)/a;g3=ParametricPlot3Dx,lyx,lzx,x,-2,2;Showp1,g2,g3,AspectRatio-Automatic,ViewPoint-2.530,-1.025,2.000;则输出相应图形(图1.4).图1.4例1.6 (教材 例1.4) 求曲面在点处的切平面方程, 并把曲面和它的切平面作在同一图形里.Clear
6、k,z;kx_,y_=4/(x2+y2+1);(*定义函数k(x,y)*)kx=Dkx,y,x/.x-1/4,y-1/2;(*求函数k(x,y)对x的偏导数, 并代入在指定点的值*)ky=Dkx,y,y/.x-(*求函数k(x,y)对y的偏导数, 并代入在指定的值*)z=kx*(x-1/4)+ky*(y-1/2)+k1/4,1/2;(*定义在指定点的切平面函数*)qm=Plot3Dkx,y,x,-2,2,y,-2,2,PlotRange-0,4,BoxRatios-1,1,1,PlotPoints-30,DisplayFunction-Identity;qpm=Plot3Dz,x,-2,2,y
7、,-2,2,Showqm,qpm,DisplayFunction-$DisplayFunction则输出所求曲面与切平面的图形(图1.5).图1.5多元函数的极值例1.7 (教材 例1.5) 求的极值.fx_,y_=x3-y3+3x2+3y2-9x;fx=Dfx,y,xfy=Dfx,y,ycritpts=Solvefx=0,fy=0则分别输出所求偏导数和驻点:x-3,y-0,x-2,x-2再输入求二阶偏导数和定义判别式的命令fxx=Dfx,y,x,2;fyy=Dfx,y,y,2;fxy=Dfx,y,x,y;disc=fxx*fyy-fxy2输出为判别式函数的形式:(6+6x)(6-6y)dat
8、a=x,y,fxx,disc,fx,y/.critpts;TableFormdata,TableHeadings-None, x , y fxx disc f 最后我们得到了四个驻点处的判别式与的值并以表格形式列出.X y fxx disc f-3 0 -12 -72 27-3 2 -12 72 311 0 12 72 -51 2 12 -72 -1易见,当时判别式disc=72, 函数有极大值31;当判别式disc=72, 函数有极小值-5;和时, 判别式disc=-72, 函数在这些点没有极值.最后,把函数的等高线和四个极值点用图形表示出来,输入d2=x,y/.critpts;g4=Lis
9、tPlotd2,PlotStyle-PointSize0.02,DisplayFunction-g5=ContourPlotfx,y,x,-5,3,y,-3,5,Contours-40,PlotPoints-60,ContourShading-False,Frame-False,Axes-AxesOrigin-0,0,DisplayFunction-Showg4,g5,DisplayFunction-则输出图1.6.图1.6从上图可见, 在两个极值点附近, 函数的等高线为封闭的. 在非极值点附近, 等高线不封闭. 这也是从图形上判断极值点的方法.注:在项目一的实验4中,我们曾用命令FindMi
10、nimum来求一元函数的极值, 实际上,也可以用它求多元函数的极值, 不过输入的初值要在极值点的附近. 对本例,可以输入以下命令FindMinimumfx,y,x,-1,y,1-5.,x-1.,y-2.3660310-8从中看到在的附近函数有极小值-5, 但y的精度不够好.例1.8 求函数在条件下的极值.Clearf,g,la;fx_,y_=x2+y2;gx_,y_=x2+y2+x+y-1;lax_,y_,r_=fx,y+r*gx,y;extpts=SolveDlax,y,r,x=0,Dlax,y,r,y=0,Dlax,y,r,r=0得到输出fx,y/.extpts/Simplify得到两个可能是条件极值的函数值但是否真的取到条件极值呢? 可利用等高线作图来判断.dian=x,y/.Tableextptss,j,s,1,2,j,2,3g1=ListPlotdian,PlotStyle-PointSize0.03,Identitycp1=ContourPlotfx,y,x,-2,2,y,-2,2,Contours-20,PlotPoints-cp2=ContourPlotgx,y,x,-2,2,y,-2,2,PlotPoints-60,Contours-0,ContourShading-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1