用Matlab求多元函数的最值

z=(1+x)*sqrt((1-x)^2+y^2)+x^2其中:00求z的最小值用Matlab写出步骤,谢谢... z=(1+x)*sqrt((1-x)^2+y^2)+x^2
其中:00
求z的最小值

用Matlab写出步骤,谢谢
展开
匿名用户
2013-07-26
展开全部
这里x>=0,y>=0时比较好算一点,依据偏导数为零是的点可能为函数极值点来计算:

syms x y z;
z = (1+x)*sqrt((1-x)^2+y^2)+x^2;
dx = diff(z,'x');
dy = diff(z,'y');
%求解dx,dy的偏导数为零的x和y
X = solve('2*x + ((x - 1)^2 + y^2)^(1/2) + ((2*x - 2)*(x + 1))/(2*((x - 1)^2 + y^2)^(1/2))=0','x');
Y = solve('(y*(x + 1))/((x - 1)^2 + y^2)^(1/2)=0','y');
%得到X=y^2/4,Y=0,当偏导数为零时函数取得极值,又有已知条件x,y的范围得到x,y都为零是有极值
x0=0;y0=0;
Z = (1+x0)*sqrt((1-x0)^2+y0^2)+x0^2;
fprintf('极小值为:%i\n',Z);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式