早教吧 育儿知识 作业答案 考试题库 百科 知识分享

关于MATLAB的一道问题.找出下面方程的极值点:f(x;y)=x^2+y^2-x*y^2-4确定哪些是极大值极小值.找出下面方程的极值点:f(x;y)=x^2+y^2-x*y^2-4确定哪些是极大值,哪些是极小值.要有MATLAB程序.

题目详情
关于MATLAB的一道问题.找出下面方程的极值点:f(x; y) = x^2+y^2-x*y^2-4 确定哪些是极大值极小值.
找出下面方程的极值点:
f(x; y) = x^2+y^2-x*y^2-4
确定哪些是极大值,哪些是极小值.
要有MATLAB程序.
▼优质解答
答案和解析
只有一个极值点(0,0),为极小值点.程序及说明见下.

% 定义函数
syms x y
f = x^2+y^2-x*y^2-4;

% 首先根据df/dx=0, df/dy=0求出驻点
J = jacobian(f,[x y]);
[X Y] = solve(J(1),J(2));

% 对所有的驻点,计算黑塞矩阵及其行列式
% 从黑塞矩阵行列式可见,驻点(0,0)是极值点,而另外两个是鞍点
% 又进一步根据(0,0)处f对x而阶导数为正可判断,该点为局部极小点
J2 = jacobian(J.',[x y]);
for i=1:length(X)
H = subs(J2,{x,y},{X(i),Y(i)})
d = det(H)
end

% 画出局部极小点附近的曲面
ezmesh(f,[-.5 .5])