用实验matlab求二元函数和极值
实验5? 用matlab求二元函数的极值
?
1 .计算二元函数的极值
对于二元函数的极值问题,根据二元函数的极值的需要和充分条件,可以分为以下步骤33到360
步骤1 .定义二元函数。
步骤2 .求解方程,得到驻点。
步骤3 .对各停车点,求二次偏导数
步骤4 .针对各停车点,计算判别式,如果是,则该停车点为极值点、极小值、极大值; 如果需要进一步判断该驻地是否为极值点的话,如果该驻地不是极值点的话。
2 .计算区域d内二元函数的最大值和最小值
假设函数在有界域上连续,则上面一定有最大值和最小值。 的最大值和最小值的一般步骤如下。
包括步骤1 .计算所有驻地的函数值;
步骤2 .计算各边界线上的最大值和最小值
步骤3 .比较上述函数值,最终确定包括在内的最大值和最小值。
3 .函数求偏导数的MATLAB命令
MATLAB中主要用diff求函数的偏导数,用jacobian求jacobian矩阵。
?
?
DIFF(f,x,n )? 求出关于函数f的自变量x的n次导数。
关于jacobian(f,x )自变量x ) x求出向量函数f的Jacobian矩阵。 有关这些命令的详细信息,可以通过help diff、help jacobian访问
例1? 求出函数的极值点和极值。
首先,用diff命令求出关于x、y的z的偏导数
clear? syms x y;
z=x^4-8*x*y 2*y^2-3;
DIFF(z,x ) )。
差频(z,y ) )。
结果是
ans=4*x^3-8*y
? ans=-8*x 4*y
也就是说,求解方程,求出各驻扎点的坐标。 一般方程的符号解使用solve命令,如果方程中不存在符号解,则solve提供数值解。 求解方程的MATLAB代码如下。
清除器
[x,y]=solve('4*x^3-8*y=0),'-8*x 4*y=0),' x ',' y ' )
结果有三个驻点: p(-2、-4)、q ()、0 )、r ()、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 ]不是极值点,实际上,和是函数的最小值点。 当然,可以通过绘制函数图形来观测极值点和鞍点。
清除器
x=-5:0.2:5; y=-5:0.2:5;
[X,y ]=消息网格(x,y );
Z=X.^4-8*X.*Y 2*Y.^2-3;
mesh(x,y,z ) )。
xlabel('x ',ylabel('y ',zlabel ' )
结果如图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*yk*(xy-1 );
DIFF(L,x ) ) ) ) )。
DIFF(L,y ) )。
差频(l,k ) )。
必须再解一次方程式
clear syms x y k
[x,y,k ]=求解(' x k=0)、' x k=0)、' x y-1=0)、' x )、' y )和' k ] ]
必须判断。 这一点是函数的极大值点,此时函数达到最大值。
?
例3抛物面在平面上被切割成椭圆,求出从该椭圆到原点的最长和最短距离。
这个问题实际上是求函数
条件和下的最大值和最小值问题. Lagrange函数的构造
求Lagrange函数的自由极值,首先求关于的一阶偏导数
clear syms x y z u v
L=x^2y^2z^2u*(x^2y^2-z ) v * (XYZ-1 );
DIFF(L,x ) ) ) ) )。
DIFF(L,y ) )。
DIFF(L,z ) )。
DIFF(L,u ) )。
DIFF(L,v ) )。
得
解方程式
清除器
[x,y,z,u,v]=solv