主题: [MATLAB基础] 请教fmincon应用问题
查看单个帖子
旧 2009-04-14, 19:54   #1
china_ie
初级会员
 
注册日期: 2009-04-14
年龄: 43
帖子: 3
声望力: 0
china_ie 正向着好的方向发展
默认 请教fmincon应用问题

目标函数myfun

function f=myfun(x)
f=0.00004717/(x(1)*x(2)+x(1)*x(3)+x(3))+0.059825+0.00595/(x(1)*x(5)+x(1)*2*sqrt(x(4)^2+(x(2)/2-x(5)/2)^2));

mycon1函数

function [c,ceq] = mycon1(x)
c(1) = -x(2)+ x(5);
ceq(1) = x(1)*x(2)+x(1)*x(3)+x(3)-0.006;


主程序代码

lbM=[10 5e-5 5e-6 5e-5 0];
ubM=[300 1e-3 1e-3 1e-3 1e-3];
options = optimset('GradConstr', 'on');
x0=[10 5e-4 8e-4 5e-4 5e-4];
%x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
[x,fval] = fmincon('myfun2',x0,[],[],[],[],lbM,ubM,mycon1,options);

运行后出现如下问题:
??? Input argument "x" is undefined.

Error in ==> mycon1 at 2
c(1) = -x(2)+ x(5);

请教高手帮忙解决。
上传的图像
文件类型: jpg 2222.jpg (13.8 KB, 6 次查看)

此帖于 2009-04-14 20:03 被 china_ie 编辑。
china_ie 当前离线   回复时引用此帖