matlab fmincon 程序是:%首先编写目标函数的﹒m文件:function f=myfun(y);f=exp(

matlab fmincon
程序是:
%首先编写目标函数的﹒m文件:
function f=myfun(y);
f=exp(y(1)+y(2))*3*exp(-y(4));
%调用函数fmincon:
>> y0=[1.79,2.99,-0.22,-0.0622]; %起始点
>> A=[-1.5,-1.5,2,-0.5;-3.0,-2,2,-1];
>> b=[-5.2779;-7.0346];
>> lb=[0.693,2.833,-0.51,-0.0622];
>> ub=[3.0,3.912,0.18,-0.00549];
>>[y,fval,exitflag,output]=fmincon(@myfun,y0,A,b,[],[],lb,ub)
运行以后,出错
>>[y,fval]=fmincon(@myfun,y0,A,b,[],[],lb,ub)
|
Error:Unexpected MATLAB operator.
请问问题出现在哪里,怎么改呢
注册了三次 1年前 已收到1个回答 举报

ii1997 花朵

共回答了16个问题采纳率:87.5% 举报

因为 f 是一个凸函数,函数的极小值发生在 f 对 x(1) 和 x(2) 的偏导为 0 的地方,或者在约束条件的边界上.本题的主函数的点为 x(1)=2, x(2)=3, 在约束条件以外,所以,最小值发生在离这个点最近的约束条件边界上,即 x(1)=3, x(2)=4,其对应的最小值为 28.
用Matlab的fmincon的话,
X=fmincon(inline(' (x(1)-2)^2 + (x(2)-3)^2 +26 '), [1; 1], [], [], [], [], [3; 4 ], [6;7])

X =
3
4
柳州电脑网
qmatlab fmincon 问题出在哪?

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.034 s. - webmaster@yulucn.com