实验五  用matlab求二元函数的极值
 
1.计算二元函数的极值
对于二元函数的极值问题,根据二元函数极值的必要和充分条件,可分为以下几个步骤:
步骤1.定义二元函数.
步骤2.求解方程组,得到驻点.
步骤3.对于每一个驻点,求出二阶偏导数
步骤4. 对于每一个驻点,计算判别式,如果,则该驻点是极值点,为极小值, 为极大值;如果,需进一步判断此驻点是否为极值点; 如果则该驻点不是极值点.
2diff函数.计算二元函数在区域D内的最大值和最小值
设函数在有界区域上连续,则上必定有最大值和最小值。求上的最大值和最小值的一般步骤为:
步骤1. 计算内所有驻点处的函数值;
步骤2. 计算的各个边界线上的最大值和最小值;
步骤3. 将上述各函数值进行比较,最终确定出在内的最大值和最小值。
3.函数求偏导数的MATLAB命令
MATLAB中主要用diff求函数的偏导数,jacobianJacobian矩阵。
 
 
diff(f,x,n)  求函数f关于自变量xn阶导数。
jacobian(f,x) 求向量函数f关于自变量x(x也为向量)jacobian矩阵。
可以用help diff, help jacobian查阅有关这些命令的详细信息
1  求函数的极值点和极值.
首先用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*y
    ans =-8*x+4*y
再求解方程,求得各驻点的坐标。一般方程组的符号解用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^2
B =-8
    C =4
由判别法可知都是函数的极小值点,而点Q(0,0)不是极值点,实际上,是函数的最小值点。当然,我们可以通过画函数图形来观测极值点与鞍点。
>>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 求函数在条件下的极值..构造Lagrange函数
Lagrange函数的自由极值.先求关于的一阶偏导数
>>clear; syms x y k
>>l=x*y+k*(x+y-1);
>>diff(l,x)
>>diff(l,y)
>>diff(l,k)
再解方程
>>clear; syms x y k
>>[x,y,k]=solve('y+k=0','x+k=0','x+y-1=0','x','y','k')
进过判断,此点为函数的极大值点,此时函数达到最大值.
 
3 抛物面被平面截成一个椭圆,求这个椭圆到原点的最长与最短距离.
这个问题实际上就是求函数
在条件下的最大值和最小值问题.构造Lagrange函数
Lagrange函数的自由极值.先求关于的一阶偏导数
>>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)
再解方程
>>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')
上面就是Lagrange函数的稳定点,求所求的条件极值点必在其中取到。由于所求问题存在最大值与最小值(因为函数在有界闭集,上连续,从而存在最大值与最小值),故由
求得的两个函数值,可得椭圆到原点的最长距离为,最短距离为
 
习题16-5
    1.的极值,并对图形进行观测。
    2.求函数在圆周的最大值和最小值。
    3.在球面求出与点(3,1,-1)距离最近和最远点。
 
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。