【实验目的】
1.了解多元函数偏导数的求法。
2.了解多元函数极值的求法。
3.了解多元函数条件极值的求法。
4.学习、掌握MATLAB软件有关的命令。
【实验内容】
求函数的极值点和极值。
【实验准备】
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 求函数的极值点和极值。首先用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=12*x^2
B=-8
C=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函数
求Lagrange函数的极值。先求关于的一阶偏导数,相应的MATLAB代码为
>>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')
得,,。经过判断,该点为函数的极大值点,此时函数达到最大值。
【练习与思考】
1. 求的极值,并对图形进行观察。
2. 求函数在圆周的最大值和最小值。