matlab 中的fmincon 使用问题,急急急!!!结果运行不出,程序如下!!!!

functionf=lian(x)f=-37.57/((x(1)/19)^1.08*(0.71332+0.0085*x(2)/x(3)-(x(2)/x(3))^2/300... function f=lian(x)
f=-37.57/((x(1)/19)^1.08*(0.71332+0.0085*x(2)/x(3)-(x(2)/x(3))^2/3000));

>> x0=[15,114,19];A=[-1,0,0;1,0,0;0,-1,6;0,1,-8;0,0,-1;0,0,1];b=[-15;-19;0;0;-19;32];LB=[14,113,18];UB=[19,160,25];
>> [x,fval,exitflag,output]=fmincon(@lian,x0,A,b,[],[],LB,UB)
展开
 我来答
周永红_ZYH
2011-12-05 · TA获得超过2912个赞
知道大有可为答主
回答量:1455
采纳率:90%
帮助的人:693万
展开全部
你的约束条件:
A=[-1,0,0;1,0,0;0,-1,6;0,1,-8;0,0,-1;0,0,1]
b=[-15;-19;0;0;-19;32]
是不是:
x(1) >= 15 第1列
x(1) <= 19 第2列
x(3) >= 19 第5列
x(3) <= 32 第6列

将其整合到:
LB=[15,113,19];UB=[19,160,32];

此后:
A=[0,-1,6;0,1,-8];
b=[0;0];

........
完整代码(7.1以上版本)

lian = @(x) -37.57./((x(1)/19).^1.08.*(0.71332+0.0085.*x(2)./x(3)-(x(2)./x(3)).^2/3000));

A=[0,-1,6;0,1,-8];
b=[0;0];

LB=[15,113,19];UB=[19,160,32];

x0=[15,114,19]';

[x,fval,exitflag,output]=fmincon(lian,x0,A,b,[],[],LB,UB)
追问
麻烦再问一句:
function f=lian(x)
f=-37.57/((x(1)/19)^1.08*(0.71332+0.0085*x(2)/x(3)-(x(2)/x(3))^2/3000));
这么定义目标函数,然后再运行您说的那个约束
提示
??? Input argument "x" is undefined.
Error in ==> lian at 2
f=37.57/((x(1)/19)^1.08*(0.71332+0.0085*x(2)/x(3)-(x(2)/x(3))^2/3000));
您这种方法是不是不用建目标函数的M文件,直接运行啊?
追答
7.1以上版本
直接运行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式