回 帖 发 新 帖 刷新版面

主题:matlab2007a

function f=myfun(x,a1)
f=x(1)^2 + a1*x(2)^2;
function [c,ceq] = mycon(x,a2)
c=a2/x(1) - x(2);
ceq =[];
a1=2; a2=1.5; % define parameters first
options=optimset('LargeScale','off'); % run medium-scale algorithm
x=fmincon(@(x)myfun(x,a1),[1;2],[],[],[],[],[],[],@(x)mycon(x,a2),options)[em10][em10][em10][em10]

%%%%%%
错误提示为:
??? Input argument "x" is undefined.
Error in ==> myfun at 2
f=x(1)^2 + a1*x(2)^2;

__________________________________
菜鸟求助!!

回复列表 (共1个回复)

沙发

@(x)myfun(x,a1) 之间加空格试试
x=fmincon(@(x) myfun(x,a1),[1;2],[],[],[],[],[],[],@(x) mycon(x,a2),options)

我来回复

您尚未登录,请登录后再回复。点此登录或注册