实验五用matlab求二元函数及极值
实验五?? 用matlab求二元函数的极值
?
1.计算二元函数的极值
对于二元函数的极值问题,根据二元函数极值的必要和充分条件,可分为以下几个步骤:
步骤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) 求向量函数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)</