一个关于matlab中fmincon函数优化的问题,困扰中
利用matlab的优化函数fmincon优化一个简单的问题,就是得不到答案,请高手指点迷津,谢谢,程序如下:X0=[22];A=[10.1;-0.1-1];B=[4;-2...
利用matlab的优化函数fmincon优化一个简单的问题,就是得不到答案,请高手指点迷津,谢谢,程序如下:
X0=[2 2];
A=[1 0.1;-0.1 -1];
B=[4;-2];
Aeq=[];
Beq=[];
LB=[];
UB=[];
NONLCON=[];
options = optimset('Algorithm','active-set');
[X,FVAL,EXITFLAG,OUTPUT]=fmincon(@(x) x(1)^2+x(2)^2,X0,A,B,Aeq,Beq,LB,UB,NONLCON,options);
将options中的优化算法改成SPQ等也不行,苦闷... 展开
X0=[2 2];
A=[1 0.1;-0.1 -1];
B=[4;-2];
Aeq=[];
Beq=[];
LB=[];
UB=[];
NONLCON=[];
options = optimset('Algorithm','active-set');
[X,FVAL,EXITFLAG,OUTPUT]=fmincon(@(x) x(1)^2+x(2)^2,X0,A,B,Aeq,Beq,LB,UB,NONLCON,options);
将options中的优化算法改成SPQ等也不行,苦闷... 展开
展开全部
其实很简单,你把最后一句未尾的分号去掉就行了,即
X0=[2 2];
A=[1 0.1;-0.1 -1];
B=[4;-2];
Aeq=[];
Beq=[];
LB=[];
UB=[];
NONLCON=[];
options = optimset('Algorithm','active-set');
[X,FVAL,EXITFLAG,OUTPUT]=fmincon(@(x) x(1)^2+x(2)^2,X0,A,B,Aeq,Beq,LB,UB,NONLCON,options)
结果:
X =
0.1980 1.9802
FVAL =
3.9604
EXITFLAG =
1
OUTPUT =
iterations: 3
funcCount: 12
lssteplength: 1
stepsize: 0.0028
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 1.9757e-008
constrviolation: 0
message: [1x144 char]
X0=[2 2];
A=[1 0.1;-0.1 -1];
B=[4;-2];
Aeq=[];
Beq=[];
LB=[];
UB=[];
NONLCON=[];
options = optimset('Algorithm','active-set');
[X,FVAL,EXITFLAG,OUTPUT]=fmincon(@(x) x(1)^2+x(2)^2,X0,A,B,Aeq,Beq,LB,UB,NONLCON,options)
结果:
X =
0.1980 1.9802
FVAL =
3.9604
EXITFLAG =
1
OUTPUT =
iterations: 3
funcCount: 12
lssteplength: 1
stepsize: 0.0028
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 1.9757e-008
constrviolation: 0
message: [1x144 char]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询