马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
各位学长,我在使用fmincon函数进行有约束非线性优化时,出现以下问题:
不能加入非线性约束条件,一加入,程序就报错,我演算教材上的例子也出现同样问题,比如:
目标函数opt_1.m: function f=myfun(x)
f=-x(1)*x(2)*x(3);
非线性约束条件opt_1c.m:
function [c,ceq]=mycon(x)
ceq=x(2)*x(3)+x(3)*x(1)+x(1)*x(2)-75;
主程序:x0=[4;5;6];
lb=zeros(3,1);
[x,fval,exitflag,output,lambda]=fmincon(@opt_1,x0,[],[],[],[],lb,[],@opt_1c)
这是我按书上的例子做的,可是我运行的结果是:
?? Error using ==> fmincon
FMINCON cannot continue because user supplied nonlinear constraint function
failed with the following error:
One or more output arguments not assigned during call to 'feval'.
Error in ==> E:\yi\matlab\optimize_fourbar\opt_1main.m
On line 3 ==> [x,fval,exitflag,output,lambda]=fmincon(@opt_1,x0,[],[],[],[],lb,[],@opt_1c)
我不知问题出在哪,望高手指点 |