求助一个用Matlab求解非线性规划的问题,不胜感激!
捕获.JPG
首先,建立M文件fun.m,定义目标函数
function f=fun(x);
f=(3.4854*x(1)+6.2879*x(3)+5.6932*x(4))/(3.4854*x(1)-4.952*x(2)+6.2879*x(3)+5.6932*x(4)-2.4846*x(5));
第二,建立M文件mycon.m,定义约束条件
function[g]=mycon(x)
g=x(1)+x(2)+x(3)+x(4)+x(5);
然后,建立主程序main.m
x0=[1;0;0;0;0];
A=[];b=[];
Aeq=[1 1 1 1 1];beq=[1];
VLB=[0 0 0 0 0];
VUB=[1 1 1 1 1];
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,VLB,VUB,'mycon')
请高手看一下这个程序哪里错了,程序出现好多错误,提示信息如下:
Error using mycon
Too many output arguments.
Error in fmincon (line 681)
[ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});
Error in Untitled11 (line 6)
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,VLB,VUB,'mycon')
Caused by:
Failure in initial user-supplied nonlinear constraint function evaluation. FMINCON cannot
continue.