实验1多元函数微分学基础实验docWord格式文档下载.docx

上传人:b****2 文档编号:14743791 上传时间:2022-10-24 格式:DOCX 页数:14 大小:282.52KB
下载 相关 举报
实验1多元函数微分学基础实验docWord格式文档下载.docx_第1页
第1页 / 共14页
实验1多元函数微分学基础实验docWord格式文档下载.docx_第2页
第2页 / 共14页
实验1多元函数微分学基础实验docWord格式文档下载.docx_第3页
第3页 / 共14页
实验1多元函数微分学基础实验docWord格式文档下载.docx_第4页
第4页 / 共14页
实验1多元函数微分学基础实验docWord格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

实验1多元函数微分学基础实验docWord格式文档下载.docx

《实验1多元函数微分学基础实验docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验1多元函数微分学基础实验docWord格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

实验1多元函数微分学基础实验docWord格式文档下载.docx

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.

z=(1+x*y)^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->

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->

(*第二个方程两边对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->

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->

(*求函数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},

Show[qm,qpm,DisplayFunction->

$DisplayFunction]

则输出所求曲面与切平面的图形(图1.5).

图1.5

多元函数的极值

例1.7(教材例1.5)求的极值.

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->

2},{x->

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->

g5=ContourPlot[f[x,y],{x,-5,3},{y,-3,5},Contours->

40,PlotPoints->

60,

ContourShading->

False,Frame->

False,Axes->

AxesOrigin->

{0,0},DisplayFunction->

Show[g4,g5,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],

Identity]

cp1=ContourPlot[f[x,y],{x,-2,2},{y,-2,2},

Contours->

20,PlotPoints->

cp2=ContourPlot[g[x,y],{x,-2,2},{y,-2,2},

PlotPoints->

60,Contours->

{0},ContourShading->

Automatic,ContourStyle

->

Dashing[{0.01

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1