请问如何用matlab求出这个函数的最大值?谢谢!

a=12*10^7/(0.15^3);b=12*10^7/(0.15^3);
x=0:0.1:1;
y=0:0.01:0.15;
[X,Y]=meshgrid(x,y);
Z=-b*Y-a*X.*Y;
surf(X,Y,Z),grid on;

你的这个函数有点问题,z=-by-axy对吧?

根据多元函数极值的求解方法,对x求偏导得:偏z/偏x=-ay

对y求偏导得:偏z/偏y=-b-ax,可得驻点为(-b/a,0)

z对x的二阶偏导为0,z对y的二阶偏导为0,偏²z/偏x偏y=-a

所以根据公式AC-B^2=-a^2<0,所以在唯一驻点处没有极值

所以说函数只能存在边界上的最值。

在你给出的x和y的区间上,当y=0时取得最大值0

函数的图像也说明了这点:

温馨提示:答案为网友推荐,仅供参考
相似回答