matlab求二元函数最大值

z=(-256.926x+572.13)*(y*(0.867+0.037*y+0.05*x)*252-17.784*y)
1.8<x<2.2 0.46<y<0.90
请问这个代码是多少。。。要直接输入到matlab里就能运行。。。
谢谢了

    多元函数的最优化问题可不是简简单单就能写出来的。

    本身MATLAB就不适合用来做优化,建议使用lingo,1stopt等工具。

    以下是使用1stopt工具做出来的结果:

    代码:

    Parameters x=[1.8,2,2],y=[.46,.90];

    Minimum;

    Function (-256.926x+572.13)*(y*(0.867+0.037*y+0.05*x)*252-17.784*y);

    结果:

    迭代数: 25

    计算用时(时:分:秒:毫秒): 00:00:00:141

    计算中止原因: 达到收敛判定标准

    优化算法: 共扼梯度法 + 通用全局优化法

    函数表达式: (-256.926*x+572.13)*(y*(0.867+0.037*y+0.05*x)*252-17.784*y)

    目标函数值(最小): 6170.8801616352

    x: 2

    y: 0.46

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-27
f = @(x) -5-1350*(1-x(1))^(2.9)-1350*x(1)^3*((1-x(2))^(2.9)-(1-x(1))^(2.9))-135*x(2)^3*(1-10*(1-x(2)^(2.9)))
lb = [0.8; 0.6]; % x y的下限
ub = [1; 0.8] ; % x y的上限
x0 = [0.5;0.6]; % Starting guess at the solution
[x1,fval1] = fmincon(f,x0,[],[],[],[],lb,ub);
xmax2 = x1(1) % 极值点x的值
ymax2 = x1(2) % 极值点y的值
zmax2 = -fval1 % Z的最大值

计算结果:
xmax2 = 1
ymax2 = 0.6
zmax2 = -96.4625
第2个回答  2014-05-29
f = @(x) -5-1350*(1-x(1))^(2.9)-1350*x(1)^3*((1-x(2))^(2.9)-(1-x(1))^(2.9))-135*x(2)^3*(1-10*(1-x(2)^(2.9)))
lb = [0.8; 0.6]; % x y的下限
ub = [1; 0.8] ; % x y的上限
x0 = [0.5;0.6]; % Starting guess at the solution
[x1,fval1] = fmincon(f,x0,[],[],[],[],lb,ub);
xmax2 = x1(1) % 极值点x的值
ymax2 = x1(2) % 极值点y的值
zmax2 = -fval1 % Z的最大值

计算结果:
xmax2 = 1
ymax2 = 0.6
zmax2 = -96.4625
这样可以么?追问

不能求出我的函数么。。。这个我看了。但是用的时候错了,你能帮我运行下么

本回答被网友采纳
第3个回答  2017-07-30

max((-256.926x+572.13)*(y*(0.867+0.037*y+0.05*x)*252-17.784*y) )if 1.8<x<2.2 and  0.46<y<0.90