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的取值。
谢谢。 展开
再用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的取值。
谢谢。 展开
2个回答
展开全部
在[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 广告
2023-08-25 广告
"整定计算的工作步骤,大致如下:1.确定整定方案所适应的系统情况。2.与调度部门共同确定系统的各种运行方式。3.取得必要的参数与资料(保护图纸,设备参数等)。4.结合系统情况,确定整定计算的具体原则。5.进行短路计算。6.进行保护的整定计算...
点击进入详情页
本回答由北京埃德思远电气技术咨询有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询