matlab实验六多元函数的极值.doc
实验六多元函数的极值【实验目的】1.了解多元函数偏导数的求法。2.了解多元函数极值的求法。3.了解多元函数条件极值的求法。4.学习、掌握MATLAB软件有关的命令。【实验内容】求函数的极值点和极值。4283zxy【实验准备】1.计算多元函数的极值2.计算二元函数在区域D内的最大值和最小值3.求函数偏导数的MATLAB命令MATLAB中主要用diff求函数的偏导数,用jacobian求Jacobian矩阵。diff(f,x,n)求函数f关于自变量x的n阶导数。jacobian(f,x)求向量函数f关于自变量x(x也为向量)的jacobian矩阵。【实验重点】1、多元函数的偏导数计算2、多元函数极值的计算【实验难点】1、多元函数极值的计算【实验方法与步骤】练习1求函数的极值点和极值。首先用diff4283zxy命令求z关于x,y的偏导数>>clear;symsxy;>>z=x^4-8*x*y+2*y^2-3;>>diff(z,x)>>diff(z,y)结果为ans=4*x^3-8*yans=-8*x+4*y即再求解正规方程,得各驻点的坐标。一般348,4zzxyxy方程组的符号解用solve命令,当方程组不存在符号解时,solve将给出数值解。求解正规方程的MATLAB代码为>>clear;>>[x,y]=solve( 4*x^3-8*y=0 , -8*x+4*y=0 , x , y )结果有三个驻点,分别是P(-2,-4),Q(0,0),R(2,4)。下面再求判别式中的二阶偏导数:>>clear;symsxy;>>z=x^4-8*x*y+2*y^2-3;>>A=diff(z,x,2)>>B=diff(diff((z,x),y))>>C=diff(z,y,2)结果为A=12*x^2B=-8C=4由判别法可知P(-4,-2)和Q(4,2)都是函数的极小值点,而点Q(0,0)不是极值点。实际上,P(-4,-2)和Q(4,2)是函数的最小值点。当然,我们可以通过画函数图形来观测极值点与鞍点。>>clear;>>x=-5:0.2:5;y=-5:0.2:5;>>[X,Y]=meshgrid(x,y);>>Z=X.^4-8*X.*Y+2*Y.^2-3;>>mesh(X,Y,Z)>>xlabel( x ),ylabel( y ),zlabel( z )运行结果为还可以通过画等值线来观察极值。>>contour(X,Y,Z,600)>>xlabel( x ),ylabel( y )运行结果为练习2求函数在条件下的极值。构造Lagrange函zxy1xy数(,)()Lxyxy求Lagrange函数的极值。先求关于的一阶偏导数,,,相应的MATLAB代码为>>clear;symsxyk>>l=x*y+k*(x+y-1);>>diff(l,x)>>diff(l,y)>>diff(l.k)得,,,再解正规方程Lyxx1Lxy>>clear;symsxyk>>[x,y,k]=solve( y+k=0 , x+k=0 , x+y-1=0 , x , y , k )得,,。经过判断,该点为函数的极大值点,此12x12y12时函数达到最大值。【练习与思考】1.求的极值,并对图形进行观察。144xyz2.求函数在圆周的最大值和最小值。2),(f12yx