实验五 用matlab 求二元函数的极值1.计算二元函数的极值对于二元函数的极值问题,根据二元函数极值的必要和充分条件,可分为以下几个步骤: 步骤1.定义二元函数),(y x f z =.步骤2.求解方程组0),(,0),(==y x f y x f y x ,得到驻点.步骤3.对于每一个驻点),(00y x ,求出二阶偏导数22222,,.z z z A B C x x y y ∂∂∂===∂∂∂∂ 步骤4. 对于每一个驻点),(00y x ,计算判别式2B AC -,如果02>-B AC ,则该驻点是极值点,当0>A 为极小值, 0<A 为极大值;如果02=-B AC ,需进一步判断此驻点是否为极值点; 如果02<-B AC 则该驻点不是极值点.2.计算二元函数在区域D 内的最大值和最小值设函数),(y x f z =在有界区域D 上连续,则),(y x f 在D 上必定有最大值和最小值。
求),(y x f 在D 上的最大值和最小值的一般步骤为:步骤1. 计算),(y x f 在D 内所有驻点处的函数值;步骤2. 计算),(y x f 在D 的各个边界线上的最大值和最小值;步骤3. 将上述各函数值进行比较,最终确定出在D 内的最大值和最小值。
3.函数求偏导数的MATLAB 命令MATLAB 中主要用diff 求函数的偏导数,用jacobian 求Jacobian 矩阵。
可以用help diff, help jacobian 查阅有关这些命令的详细信息例1 求函数32824-+-=y xy x z 的极值点和极值. 首先用diff 命令求z 关于x,y 的偏导数>>clear; syms x y;>>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即.48,843yxyzyxxz+-=∂∂-=∂∂再求解方程,求得各驻点的坐标。
一般方程组的符号解用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; syms x y;>>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=2*x^2B =-8C =4由判别法可知)2,4(--P和)2,4(Q都是函数的极小值点,而点Q(0,0)不是极值点,实际上,)2,4(--P和)2,4(Q是函数的最小值点。
当然,我们可以通过画函数图形来观测极值点与鞍点。
>>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')结果如图16.5.1图16.5.1 函数曲面图可见在图6.1中不容易观测极值点,这是因为z的取值范围为[-500,100],是一幅远景图,局部信息丢失较多,观测不到图像细节.可以通过画等值线来观测极值.>>contour(X,Y,Z, 600)>>xlabel('x'),ylabel('y')结果如图16.5.2图16.5.2 等值线图由图16.5.2可见,随着图形灰度的逐渐变浅,函数值逐渐减小,图形中有两个明显的极小值点)2,4(--P和)2,4(Q.根据提梯度与等高线之间的关系,梯度的方向是等高线的法方向,且指向函数增加的方向.由此可知,极值点应该有等高线环绕,而点)0,0(Q周围没有等高线环绕,不是极值点,是鞍点.例2求函数xyz=在条件1=+yx下的极值..构造Lagrange函数)1(),(-++=yxxyyxLλ求Lagrange函数的自由极值.先求L关于λ,,yx的一阶偏导数>>clear; syms x y k >>l=x*y+k*(x+y-1); >>diff(l,x)>>diff(l,y)>>diff(l,k)得,1,,-+=∂∂+=∂∂+=∂∂yxLxyLyxLλλλ再解方程>>clear; syms x y k>>[x,y,k]=solve('y+k=0','x+k=0','x+y-1=0','x','y','k')得,21,21,21-===λyx进过判断,此点为函数的极大值点,此时函数达到最大值.例3抛物面22yxz+=被平面1=++zyx截成一个椭圆,求这个椭圆到原点的最长与最短距离.这个问题实际上就是求函数222),,(zyxzyxf++=在条件22yxz+=及1=++zyx下的最大值和最小值问题.构造Lagrange函数)1()(),,(22222-+++-++++=zyxzyxzyxzyxLμλ求Lagrange函数的自由极值.先求L关于μλ,,,,zyx的一阶偏导数>>clear; syms x y z u v>>l=x^2+y^2+z^2+u*(x^2+y^2-z)+v*(x+y+z-1);>>diff(l,x)>>diff(l,y)>>diff(l,z)>>diff(l,u)>>diff(l,v)得μλμλμλ+-=∂∂++=∂∂++=∂∂z z L y y y L x x x L 2,22,221,22-++=∂∂-+=∂∂z y x L z y x L μλ再解方程>>clear;>>[x,y,z,u,v]=solve('2*x+2*x*u+v=0','2*y+2*y*u+v=0','2*z-u+v=0', 'x^2+y^2-z=0','x+y+z-1=0','x','y','z','u','v')得.32,231,33117,3353μ=±-==±-=±-=z y x μλ上面就是Lagrange 函数的稳定点,求所求的条件极值点必在其中取到。
由于所求问题存在最大值与最小值(因为函数f 在有界闭集}1,:),,{(22=++=+z y x z y x z y x ,上连续,从而存在最大值与最小值),故由359.)32,231,231(μμ=±-±-f 求得的两个函数值,可得椭圆到原点的最长距离为359+,最短距离为359-。
习题16-51.求1444+-+=xy y x z 的极值,并对图形进行观测。
2.求函数()222,y x y x f +=在圆周122=+y x 的最大值和最小值。
3.在球面1222=++z y x 求出与点(3,1,-1)距离最近和最远点。