matlab二元函数求最大值

想用matalb求二元函数的最大值。我先用diff命令求z关于x,y的偏导数再用fsolve求解方程组,希望得到各驻点的坐标,但一直不成功。z=(294067503786... 想用matalb求二元函数的最大值。我先用diff命令求z关于x,y的偏导数
再用fsolve求解方程组,希望得到各驻点的坐标,但一直不成功。
z=(2940675037869895*x^2)/(288230376151711744*(tanh(2*(x^2 + y^2)^(1/2))*(x^2 + y^2)^(1/2) - (2960289404442881*x^2)/9007199254740992)) + (1046382468744793*x^2)/4503599627370496 - (1290927876507717*y^2)/4503599627370496 - 1558145760697481/144115188075855872;
变量x和y都是在0.2附近。想得到z的最大值,以及x,y的取值。
谢谢。
展开
 我来答
learneroner
高粉答主

2018-08-24 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6586万
展开全部

在[0,0.4]范围内作图可知x=y=0.2附近并没有驻点,所以如果你不给出x,y的具体区间,则求不出最大值,因为最值显然在边界上取得。

>> f = @(x,y) (2940675037869895*x.^2)./(288230376151711744*(tanh(2*(x.^2 + y.^2).^(1/2)).*(x.^2 + y.^2).^(1/2) - (2960289404442881*x.^2)/9007199254740992)) + (1046382468744793*x.^2)/4503599627370496 - (1290927876507717*y.^2)/4503599627370496 - 1558145760697481/144115188075855872;
>> [x,y]=meshgrid(0:0.005:0.4);
>> mesh(x,y,f(x,y))
>> xlabel('x');ylabel('y');zlabel('z')

追问
谢谢你的回答。我检查了一下,并且化简了,原来的函数表达式有点错误,应该是这样的:
z=(-0.2323*x^2+0.2866*y^2)*(0.2323*x^2-0.2866*y^2+2*(-0.5406)*0.1^2+1.0203*0.1^2*x^2/((x^2+y^2)^0.5*tanh(2*(x^2+y^2)^0.5)-x^2*0.5733^2)) 的最大值,变量x和y都在(0.1, 0.4)之间。求z的最大值,以及x,y的取值。
能否求出来?
北京埃德思远电气技术咨询有限公司
2023-08-25 广告
"整定计算的工作步骤,大致如下:1.确定整定方案所适应的系统情况。2.与调度部门共同确定系统的各种运行方式。3.取得必要的参数与资料(保护图纸,设备参数等)。4.结合系统情况,确定整定计算的具体原则。5.进行短路计算。6.进行保护的整定计算... 点击进入详情页
本回答由北京埃德思远电气技术咨询有限公司提供
绍乾洪智志
2019-06-18 · TA获得超过1081个赞
知道小有建树答主
回答量:1835
采纳率:94%
帮助的人:9.5万
展开全部
由于
函数变量
比较多,所以初始值的取值可能对结果影响很大甚至有时会不收敛这里采取了
随机数
作为初始值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式